Install¶
Featuretools is available for Python 3.7, 3.8, 3.9, and 3.10. 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:
Hint
Be sure to install Scala and Spark if you want to use Spark
$ python -m pip install "featuretools[complete]"
$ python -m pip install "featuretools[nlp_primitives]"
$ python -m pip install "featuretools[spark]"
$ python -m pip install "featuretools[tsfresh]"
$ python -m pip install "featuretools[autonormalize]"
$ python -m pip install "featuretools[update_checker]"
$ conda install -c conda-forge nlp-primitives featuretools-tsfresh-primitives pyspark alteryx-open-src-update-checker
$ conda install -c conda-forge nlp-primitives
$ conda install -c conda-forge featuretools-tsfresh-primitives
$ conda install -c conda-forge pyspark
$ conda install -c conda-forge alteryx-open-src-update-checker
NLP Primitives: Use Natural Language Processing Primitives in Featuretools
TSFresh Primitives: Use 60+ primitives from tsfresh in Featuretools
Spark: Use Woodwork with Spark DataFrames
AutoNormalize: Automated creation of normalized
EntitySet
from denormalized dataUpdate Checker: Receive automatic notifications of new Featuretools releases
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.
Hint
Be sure to install Scala and Spark if you want to run all unit tests
git clone https://github.com/alteryx/featuretools.git
cd featuretools
python -m pip install .
Scala and Spark¶
$ brew tap AdoptOpenJDK/openjdk
$ brew install --cask adoptopenjdk11
$ brew install scala apache-spark
$ echo 'export JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshrc
$ echo 'export PATH="/usr/local/opt/openjdk@11/bin:$PATH"' >> ~/.zshrc
$ brew install openjdk@11 scala apache-spark graphviz
$ echo 'export PATH="/opt/homebrew/opt/openjdk@11/bin:$PATH"' >> ~/.zshrc
$ echo 'export CPPFLAGS="-I/opt/homebrew/opt/openjdk@11/include:$CPPFLAGS"' >> ~/.zprofile
$ sudo ln -sfn /opt/homebrew/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
$ sudo apt install openjdk-11-jre openjdk-11-jdk scala -y
$ echo "export SPARK_HOME=/opt/spark" >> ~/.profile
$ echo "export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin" >> ~/.profile
$ echo "export PYSPARK_PYTHON=/usr/bin/python3" >> ~/.profile
$ sudo amazon-linux-extras install java-openjdk11 scala -y
$ amazon-linux-extras enable java-openjdk11
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 python:3.8-slim-buster
RUN apt-get update && apt-get -y update
RUN apt-get install -y build-essential python3-pip python3-dev
RUN pip -q install pip --upgrade
RUN pip install featuretools
Development¶
To make contributions to the codebase, please follow the guidelines here.