CatKit: Catalysis Kit

Coverage Status Documentation Status

Welcome to CatKit! A staging ground for computational tools which are generally useful for catalysis research. The goal of the project is to provide a communal location for those interested in hosting such tools under a common banner. In doing so, we hope to provide the infrastructure to produce more advanced functionality based on modular components of individual contributors.

You can find our full documentation here.


Pip installation

CatKit is most easily installed with pip using:

pip install catkit

For Mac OSX, homebrew can be used in place of pip

brew install catkit

For usage on high-performance computers, installation will need to be performed locally which can be done using:

pip install --user catkit

These commands will install all of the necessary dependencies for you.

Source installation

Alternatively, a version with the most recent commits can be install through git by running the following in your home directory.

git clone catkit

Then, add ~/catkit/bin and ~/catkit to your PATH and PYTHONPATH environment variables by adding the following line to your ~/.bashrc file.

export PATH=~/catkit/bin:PATH

And install the package:

cd catkit/
python install

Or, one can use pip to install from the master branch directly:

pip install --upgrade git+ catkit

To properly install the cathub command line interface, you will also need to run the This can be done by performing a pip installation as developer in the catkit directory.

cd ~/cakit
pip install -e .

CatGen: Catalysis Generator

CatGen is an enumeration module designed to construct various catalytic structures.

  • [X] Gas phase molecules
  • [ ] Bulk structures
  • [X] Surfaces structures
  • [X] Adsorption sites
  • [X] Catalytic structures

It also has functionality for enumeration of other systems relevant to the field of catalysis.

  • [X] Reaction mechanisms
  • [X] Reaction routes

For additional details regarding how the generator operates, including example usage, see the CatGen documentation.


CatHub provides an interface to the reaction energy database on

The module includes a command line interface that can be used to access and upload to the database:

Run `cathub`:

  • cathub –help

See the CatHub documentation for details on how to use the cli.

CatFlow: Catalysis Workflow

CatFlow is currently a staging ground for Workflow code and techniques. These functions are meant to be used in conjunction with the other modules inside CatKit to help automate these tasks.

Currently, CatFlow’s functionality utilizes Fireworks and many of the functions are also specifically tailored to work on the high-performance computers which are available to the SUNCAT group as Stanford.

For additional detail see the CatFlow documentation.


CatKit attempts to make use of basic functionalities implemented by existing softwares when possible to extend its capabilities.

A full list of required packaged can be found in the requirements.