featuretools
a framework for automated feature engineering
Decision gist · record as of 2026-08-14
Yes. Featuretools is worth installing if you work with multi-table relational data and want to automate feature engineering. It has low install friction, active maintenance, no known vulnerabilities, permissive licensing, and a mature API. Install it if you're prototyping ML pipelines or need to scale feature generation; skip it if your data is already a single flat table or if you prefer manual feature control.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later (supports 3.9, 3.10, 3.11, 3.12).
- Low install friction with a pure-Python wheel and nine common dependencies (numpy, pandas, scipy, cloudpickle, woodwork, and others).
- Actively maintained with recent commits and production-stable status.
License · maintenance · safety
BSD 3-clause (permissive) — BSD 3-clause permissive license allows commercial and private use with minimal restrictions, requiring only license and copyright notice retention.
last release 2024-05-14 (822 days) · last repo commit 2026-07-27 · 7,662 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 206,281 downloads/mo, #9,575 on PyPI
Alternatives
Verify before relying
import featuretools as ft
es = ft.demo.load_mock_customer(return_entityset=True)
feature_matrix, feature_defs = ft.dfs(entityset=es, target_dataframe_name="customers")- Whether custom primitives can be defined and integrated without external dependencies beyond those listed.
- Performance characteristics and scalability limits for datasets larger than the Instacart example (3 million orders).
- Whether Dask integration (optional add-on) is necessary for multi-job parallelization or if single-threaded DFS is sufficient for typical use.
What it is and what it does
Featuretools is a Python library that automates feature engineering—the traditionally manual process of creating predictive features from raw data. It implements Deep Feature Synthesis (DFS), an algorithm that automatically generates features by aggregating and transforming values across related tables in a multi-table dataset. You define the structure of your data (entities and relationships), point DFS at a target table, and it produces a feature matrix ready for machine learning, handling temporal aggregations, counts, statistics, and custom transformations.
The library comes with built-in primitives for common feature types (sum, mean, mode, date extraction, etc.) and allows you to define custom primitives for domain-specific transformations. It integrates with standard data science tools—pandas for data handling, numpy and scipy for computation, and optional Dask support for parallel execution. The package is actively maintained, production-stable, and widely used in data science workflows where multi-table relational data needs rapid feature exploration.
Use it for
- Predict customer behavior (e.g., next purchase) by automatically generating aggregated features from transaction history and customer metadata.
- Build time-series features from event logs by automatically computing rolling statistics and temporal aggregations across related tables.
- Rapidly prototype machine learning pipelines on new datasets by generating a baseline feature set without manual feature engineering.
- Scale feature engineering to large datasets using Dask integration to parallelize DFS computation across multiple jobs.
- Define domain-specific features via custom primitives when built-in aggregations don't capture the business logic you need.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Featuretools is worth installing if you work with multi-table relational data and want to automate feature engineering. It has low install friction, active maintenance, no known vulnerabilities, permissive licensing, and a mature API. Install it if you're prototyping ML pipelines or need to scale feature generation; skip it if your data is already a single flat table or if you prefer manual feature control.
Install
featuretools on PyPI
Before you install
Low install friction with a pure-Python wheel and nine common dependencies (numpy, pandas, scipy, cloudpickle, woodwork, and others). Actively maintained with recent commits and production-stable status.
Requires Python 3.9 or later (supports 3.9, 3.10, 3.11, 3.12).
License in practice
BSD 3-clause permissive license allows commercial and private use with minimal restrictions, requiring only license and copyright notice retention.
Quickstart
import featuretools as ft
es = ft.demo.load_mock_customer(return_entityset=True)
feature_matrix, feature_defs = ft.dfs(entityset=es, target_dataframe_name="customers")
Verify before relying
- Whether custom primitives can be defined and integrated without external dependencies beyond those listed.
- Performance characteristics and scalability limits for datasets larger than the Instacart example (3 million orders).
- Whether Dask integration (optional add-on) is necessary for multi-job parallelization or if single-threaded DFS is sufficient for typical use.
Package facts
| License | BSD 3-clause permissive |
| Python support | Supports the current Python release <4,>=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 9 packagescloudpickleholidaysnumpypackagingpandaspsutilscipytqdmwoodwork |
| Maintenance | Actively maintained 822 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 206,281 / month, #9,575 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Software Development |
Evidence: featuretools-1.31.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “deep feature synthesis”
- featuretoolsFeaturetools automates feature engineering for machine learning by…
- TTSTTS is a deep learning library for text-to-speech synthesis that…
- coqui-ttsCoqui TTS synthesizes speech from text using deep learning models,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also sdv · cleanlab · sklearn-pandas · woodwork · dbl-discoverx · ctgan · whylogs · nvidia-cudnn-cu11 · mlforecast · azureml-train-automl