Skip to main content


Zef is available from the PyPI repository as the package zef. This includes all of the submodules.

It is recommended to use the binary wheels available on PyPI, which are compiled for the following platform/version combinations:

  • CPython 3.10 and manylinux/MacOS.
  • CPython 3.9 and manylinux/MacOS.
  • CPython 3.8 and manylinux.

If your system fits into the above, then this is as easy as running:

pip3 install zef

Replace pip3 by the appropriate executable for your python installation or virtual environment.

The only external dependency requirement to use zef is OpenSSL. If you are on a linux distribution, this is likely already installed. If you are on MacOS, you can install this with:

brew install openssl

Compiling from source

If your system is not listed above, then you can try compiling from source, by either grabbing the python sdist package. There are a few more dependencies required -- please see the file in our GitHub repo.

At the moment there is no Windows support -- we are working on making this possible soon. However, it is possible to run python inside of the WSL (Windows Subsystem for Linux).

First steps after installing

After the package is installed, you should first login to ZefHub, either creating an account in the process, or using an existing one. account. This can be done by following the browser prompt opened via the following commands:

from zef.ops import *
login | run

The login command is needed only once. Future sessions will use a refresh token generated in the login process.

Testing your installation

If you have logged in and run

import zef

then you should list a list containing at least the entry blog/northwind. This is a sample graph you can load with g = zef.Graph("blog/northwind"). See quick-start and the rest of the docs to get started.

If you run into any issues or have any questions, ping us on!