Skip to content
No description, website, or topics provided.
Branch: development
Clone or download
Latest commit b962a58 Mar 14, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
data Added 9var datasets Jul 27, 2017
example Fixed the tetrad-lib refactored class paths Mar 8, 2019
src/pycausal Updated jar file Mar 14, 2019
LICENSE Initialized PyTetrad Feb 22, 2016
README Fixed typos in README Mar 7, 2018 Updated README and two example py files Aug 15, 2018
bld.bat Updated project's name to lower case for anaconda build Mar 1, 2016
meta.yaml Updated README and two example py files Aug 15, 2018 Updated README and two example py files Aug 15, 2018 Updated jar file Mar 14, 2019


Python APIs for causal modeling algorithms developed by the University of Pittsburgh/Carnegie Mellon University Center for Causal Discovery.

This code is distributed under the LGPL 2.1 license.


Python 2.7 and 3.6

  • javabridge>=1.0.11
  • pandas
  • numpy
  • JDK 1.8
  • pydot (Optional)
  • GraphViz (Optional)

Installation overview:

We have found two approaches to be useful:

  • Direct python installation with pip, possibly including use of Jupyter. This approach is likely best for users who have Python installed and are familiar with installing Python modules.
  • Installation via Anaconda, which installs Python and related utilities.

Directions for both approaches are given below...

Installation with pip

First install Java 8 or higher and Python 2.7 or higher.

If you do not have pip installed already, try these instructions.

Once pip is installed, execute these commands

pip install -U numpy
pip install -U pandas
pip install -U javabridge
pip install -U pydot # optional
pip install -U GraphViz # optional

Note: you also need to install the GraphViz engine by following these instructions.

We have observed that on some OS X installations, pydot may provide the following response Couldn't import dot_parser, loading of dot files will not be possible.

If you see this, try the following

 pip uninstall pydot
 pip install pyparsing==1.5.7
 pip install pydot

Then, from within the py-causal directory, run the following command:

python install

or use the pip command:

pip install git+git://

After running this command, enter a python shell and attempt the following imports:

import pandas as pd
import pydot
from pycausal import search as s

Finally, try to run the python example


Be sure to run this from within the py-causal directory.

This program will create a file named tetrad.svg, which should be viewable in any SVG capable program. If you see a causal graph, everything is working correctly.

Running Jupyter/IPython

We have found Jupyter notebooks to be helpful. (Those who have run IPython in the past should know that Jupyter is simply a new name for IPython). To add Jupyter to your completed python install, simply run

pip -U jupyter
jupyter notebook

and then load one of the Jupyter notebooks found in this installation.


First install Java 8 or higher and Python 2.7 or higher.

Installing Python with Anaconda and Jupyter may be easier for some users:

Then run the following to configure anaconda

conda install javabridge
conda install pandas  
conda install numpy
conda install pydot
conda install graphviz 
conda install -c pycausal 
jupyter notebook

and then load one of the Jupyter notebooks.

Docker Image

The pre-installed py-causal Docker image is also available at Docker Hub

You can’t perform that action at this time.