NOTICE

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 https://github.com/alteryx/featuretools/archive/woodwork-integration.zip

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.


Install

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 anaconda.org:

conda install -c conda-forge featuretools

Add-ons

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

Ubuntu:

sudo apt install graphviz
pip install graphviz

Mac OS:

brew install graphviz
pip install graphviz

Windows:

  • 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 https://github.com/alteryx/featuretools.git
cd featuretools
python setup.py 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 setup.py.

Development

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

Virtualenv

We recommend developing in a virtualenv:

mkvirtualenv featuretools

Install development requirements

Run:

make installdeps

Test

Note

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

Note

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