Contents

Installation

Zasper is one static binary with no runtime dependencies. The download is 10 MB, and it takes about 26 MB on disk once it is unpacked. It runs a server on your own machine, and you use it in your browser: Chrome, Firefox, Safari or Edge.

Requirements

Homebrew (macOS, Linux)

brew tap zasper-io/tap
brew trust zasper-io/tap
brew install zasper-io/tap/zasper

Homebrew 6 loads nothing from a third-party tap until you trust it, which is what brew trust records.

Snap (Linux)

sudo snap install zasper

Conda (Linux x86-64, Windows, Intel Mac)

conda install zasper -c conda-forge

Prebuilt Binaries

Download the archive for your platform from the Downloads page or from GitHub Releases, unpack it, and put zasper somewhere on your PATH:

tar -xzf zasper-webapp-2.1.0-linux-amd64.tar.gz
sudo mv zasper /usr/local/bin/

Every release carries a checksum file. To verify what you downloaded, run this in the folder that has both:

sha256sum -c zasper_2.1.0_checksums.txt --ignore-missing      # Linux
shasum -a 256 -c zasper_2.1.0_checksums.txt --ignore-missing  # macOS

The macOS binaries are signed and notarized by Apple, so Gatekeeper opens them without a warning.

Check That It Works

zasper --version

This prints 2.1.0. Then start Zasper in the folder you want to work in:

cd ~/notebooks
zasper

Zasper opens http://127.0.0.1:8048 in your browser, already signed in. If no browser opens, for example because you passed --no-browser or are connected over SSH, open the Sign in with link that Zasper prints when it starts.

Platform Support

Platform Architectures Status
macOS 12 or later Apple Silicon, Intel Fully supported
Linux, any distribution x86-64, ARM64, i386 Fully supported
Windows 10 or later x86-64, ARM64, i386 Supported, except the built-in terminal, which needs Zasper running under WSL

The Linux archives are static binaries, so one build works on every distribution, Debian and Red Hat alike.

Upgrading from 2.0.0

Zasper now asks whether you trust each folder before it runs anything the folder controls. After the upgrade every folder is asked about once, including the one you start zasper in, because no folder is trusted yet.

Trusted Folders has the details.

Upgrading from 1.1.0

2.0.0 is a major release because two details of Zasper’s API changed, for security. The app itself needs nothing from you beyond signing in once; these are the changes to know about:

Upgrading from 1.0.0

Three changes need attention if you run Zasper anywhere other than your own machine:

Deploying on Cloud shows the new setup for servers, Docker and systemd.

Upgrading from 0.2.0-beta

1.0.0 is the first stable release. From here on, Zasper’s HTTP and WebSocket API, its configuration file and its command-line flags follow semantic versioning and will not break within 1.x. A few things changed on the way there:

The full list is in the changelog.

Troubleshooting

zasper: command not found

The folder you put zasper in is not on your PATH. For Homebrew, snap or conda, check that the package manager itself is on your PATH.

The sign-in page asks for a token

Paste the Server Access Token that Zasper printed when it started, or open the Sign in with link instead. The token changes every time Zasper starts unless ZASPER_ACCESS_TOKEN is set, so a token from an earlier run no longer works.

A kernel doesn’t show up

Run jupyter kernelspec list to confirm the kernel is registered, then reload the page: Zasper reads the kernel list again each time the Launcher asks for it. Restart Zasper only if you have installed a new version of Python since it started. Installing Jupyter Kernels has more.

Zasper can’t be reached from another machine

By default Zasper binds only 127.0.0.1. See Deploying on Cloud.

Something else is wrong

Zasper logs to standard output, not to a file. Run it from a terminal with --debug to see more:

zasper --debug

If that doesn’t explain it, open an issue with that output.