Linux and Mac Users

The latest stable version of PyKEEN can be downloaded and installed from PyPI with:

$ pip install pykeen

The latest version of PyKEEN can be installed directly from the source on GitHub with:

$ pip install git+

Google Colab and Kaggle Users

Google Colab and Kaggle both provide a hosted version of Google’s custom Jupyter notebook environment that work similarly. After opening a new notebook on one of these service, start your notebook with the following two lines:

! pip install git+

This will install the latest code, then output relevant system and environment information with pykeen.env(). It works because Jupyter interprets any line beginning with a bang ! that the remainder of the line should be interpreted as a bash command. If you want to make your notebook compatible on both hosted and local installations, change it slightly to check if PyKEEN is already installed:

! python -c "import pykeen" || pip install git+


Old versions of PyKEEN that used class_resolve version 0.3.4 and below loaded datasets via entrypoints. This was unpredictable on Kaggle and Google Colab, so it was removed in More information can also be found on PyKEEN issue #373.

To enable GPU usage, go to the Runtime -> Change runtime type menu to enable a GPU with your notebook.

Windows Users

We’ve added experimental support for Windows as of !95. However, be warned, it’s much less straightforward to install PyTorch and therefore PyKEEN on Windows.

First, to install PyTorch, you must install Anaconda and follow the instructions on the PyTorch website. Then, assuming your python and pip command are linked to the same place where conda is installing, you can proceed with the normal installation (or the installation from GitHub as shown above):

$ pip install pykeen

If you’re having trouble with pip or sqlite, you might also have to use conda install pip setuptools wheel sqlite. See our GitHub Actions configuration on GitHub for inspiration.

If you know better ways to install on Windows or would like to share some references, we’d really appreciate it.


The latest code can be installed in development mode with:

$ git clone pykeen
$ cd pykeen
$ pip install -e .

If you’re interested in making contributions, please see our contributing guide.

To automatically ensure compliance to our style guide, please install pre-commit hooks using the following code block from in the same directory.

$ pip install pre-commit
$ pre-commit install


PyKEEN has several extras for installation that are defined in the [options.extras_require] section of the setup.cfg. They can be included with installation using the bracket notation like in pip install pykeen[docs] or pip install -e .[docs]. Several can be listed, comma-delimited like in pip install pykeen[docs,plotting].




Building of templated documentation, like the README


Plotting with seaborn and generation of word clouds


Tracking of results with mlflow


Tracking of results with wandb


Tracking of results with neptune


Tracking of results with tensorboard via torch.utils.tensorboard


Label-based initialization with transformers.


Code needed to run tests. Typically handled with tox -e py


Building of the documentation


Improve performance of torch.einsum() by replacing with opt_einsum.contract()


Use of pyobo for lookup of biomedical entity labels