The upcoming release of Featuretools 1.0.0 contains several breaking changes. Users are encouraged to test this version prior to release by installing from GitHub:

pip install

For details on migrating to the new version, refer to Transitioning to Featuretools Version 1.0. Please report any issues in the Featuretools GitHub repo or by messaging in Alteryx Open Source Slack.


Featuretools is available for Python 3.7 and 3.8. The recommended way to install Featuretools is using pip or conda:

python -m pip install featuretools

or from the Conda-forge channel on

conda install -c conda-forge featuretools


You can install add-ons individually or all at once by running:

python -m pip install "featuretools[complete]"
Update checker:

Receive automatic notifications of new Featuretools releases:

python -m pip install "featuretools[update_checker]"

Installing Graphviz

In order to use EntitySet.plot or featuretools.graph_feature() you will need to install the graphviz library.

pip users:

pip install graphviz

conda users:

conda install -c conda-forge python-graphviz


sudo apt install graphviz
pip install graphviz

Mac OS:

brew install graphviz
pip install graphviz


  • Install according to your package manager:

    # conda
    conda install -c conda-forge python-graphviz
    # pip
    pip install graphviz
  • If you installed graphviz with pip, install graphviz.exe from the official source

Install from Source

To install featuretools from source, clone the repository from github:

git clone
cd featuretools
python install

or use pip locally if you want to install all dependencies as well:

pip install .

You can view the list of all dependencies within the extras_require field of


Before making contributing to the codebase, please follow the guidelines here


We recommend developing in a virtualenv:

mkvirtualenv featuretools

Install development requirements


make installdeps



In order to the run the featuretools tests you will need to have graphviz installed as described above.

Run featuretools tests:

make test

Before committing make sure to run linting in order to pass CI:

make lint

Some linting errors can be automatically fixed by running the command below:

make lint-fix

Build Documentation

Build the docs with the commands below:

cd docs/

# small changes
make html

# rebuild from scatch
make clean html


The Featuretools library must be import-able to build the docs.