Install#

Featuretools is available for Python 3.9 - 3.12. It can be installed from pypi, conda-forge, or from source.

To install Featuretools, run the following command:

$ python -m pip install featuretools
$ conda install -c conda-forge featuretools

Add-ons#

Featuretools allows users to install add-ons individually or all at once:

$ python -m pip install "featuretools[complete]"
$ python -m pip install "featuretools[dask]"
$ python -m pip install "featuretools[nlp]"
$ python -m pip install "featuretools[premium]"
$ conda install -c conda-forge nlp-primitives dask distributed
$ conda install -c conda-forge nlp-primitives
$ conda install -c conda-forge dask distributed
  • NLP Primitives: Use Natural Language Processing Primitives in Featuretools

  • Premium Primitives: Use primitives from Premium Primitives in Featuretools

  • Dask: Use to run calculate_feature_matrix in parallel with n_jobs

Installing Graphviz#

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

$ brew install graphviz
$ python -m pip install graphviz
$ brew install graphviz
$ conda install -c conda-forge python-graphviz
$ sudo apt install graphviz
$ python -m pip install graphviz
$ sudo apt install graphviz
$ conda install -c conda-forge python-graphviz
$ python -m pip install graphviz
$ conda install -c conda-forge python-graphviz

If you installed graphviz for Windows with pip, install graphviz.exe from the official source.

Source#

To install Featuretools from source, clone the repository from GitHub, and install the dependencies.

git clone https://github.com/alteryx/featuretools.git
cd featuretools
python -m pip install .

Docker#

It is also possible to run Featuretools inside a Docker container. You can do so by installing it as a package inside a container (following the normal install guide) or creating a new image with Featuretools pre-installed, using the following commands in your Dockerfile:

FROM --platform=linux/x86_64 python:3.9-slim-buster
RUN apt update && apt -y update
RUN apt install -y build-essential
RUN pip3 install --upgrade --quiet pip
RUN pip3 install featuretools

Development#

To make contributions to the codebase, please follow the guidelines here.