Skip to content
/ cctk Public

Python-based library for working with computational chemistry files


Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation


PyPI version Anaconda version Doc status Downloads

a Python-based computational chemistry toolkit

cctk simplifies the computational modeling of organic reactions and small molecule structures by automating routine interactions with quantum chemistry software packages:

  • input file creation: conformer enumeration, job keyword manipulations, constrained potential energy surface creation
  • method screening: creating jobs that screen grids of DFT methods and basis sets
  • job monitoring: identification of job status, progress of optimizations, and resubmission of failed jobs
  • data extraction: geometries, energies, molecular properties (e.g. charges or NMR shieldings), or geometric parameters (distances, angles, dihedrals) from output files
  • data analysis: easy export for statistical analysis or visualization

A quick-start guide is available. More documentation is here.

cctk is primarily designed for use with Gaussian 16. Some support is provided for other file formats (.xyz, .mol2, .pdb, Schrodinger mae, and Orca .inp/.out).


First Time

cctk is easy to install! It should work on any system where Python works.

With Python 3.6 or later, type:

pip install cctk


conda install -c conda-forge cctk

If you don't have pip or virtual environments available on your system, then we recommend installing Anaconda first:

  1. Go to Download the Python 3 installer appropriate to your system and run it.

  2. Create a virtual environment to use with cctk (with whatever version of Python you prefer):

conda create --name cctk python=3.8
  1. Now activate the virtual environment:
conda activate cctk

To use cctk, you will need to place this command at the beginning of your Python scripts:

import cctk

The documentation contains many examples of how to write cctk scripts.


cctk is undergoing active development. To upgrade to the latest stable release:

pip install --upgrade cctk

To install the development version, which may be unstable, run:

$ pip install --upgrade 

Alternatively, clone the repository. Then, from within the repository folder, run:

pip install --upgrade .

Building Documentation

If you want to read the cctk documentation locally, you can build it by going to the docs folder and typing:

make html

This command will require the sphinx and sphinx-bootstrap-theme packages to be installed first. Once generated, the documentation will be available locally at: docs/_build/html/index.html.

Fine Print

Package Details

  • cctk/ contains the Python modules for cctk and the accompanying static data files.
  • docs/ contains the code needed to generate the documentation.
  • scripts/ contains pre-defined scripts that use cctk to quickly analyze and manipulate one or many output files.
  • test/ contains code to test cctk and accompanying files.
  • tutorial/ contains detailed tutorials on how to use cctk on complex, real-world problems.

cctk requires Python 3.7+, numpy, and networkx. A full list of requirements can be found in env.yml.

External Data:

cctk depends on some external data (cctk/data/):

Authors and Community:

cctk is an ongoing project led by Corin Wagen and Eugene Kwan.

There is a Slack workspace for cctk users and developers: please email or for access.

How to Cite:

Wagen, C.C.; Kwan, E.E. cctk 2020,


This project is licensed under the Apache License, Version 2.0. Please see LICENSE for full terms and conditions.

Copyright 2020 by Corin Wagen and Eugene Kwan