skillfed

featuretools

a framework for automated feature engineering

featuretools v1.31.0 206.3K downloads/30d#9,575 on PyPI7,662
Permissive license BSD 3-clause Active released

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

Featuretools automates feature engineering for machine learning by synthesizing new features from multi-table datasets using Deep Feature Synthesis (DFS), eliminating manual feature creation.

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

pip

pip install featuretools

uv

uv add featuretools

poetry

poetry add featuretools

Installing featuretools

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.

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")

Requires Python 3.9 or later (supports 3.9, 3.10, 3.11, 3.12).

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 — cloudpickle, holidays, numpy, packaging, pandas, psutil, scipy, tqdm, woodwork
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)

Evidence: featuretools-1.31.0-py3-none-any.whl

Keywords: feature engineering, data science, machine learning

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

Tags

automated feature engineeringdeep feature synthesismachine learning feature generationmulti-table feature creationtime-series feature engineeringrelational data feature synthesis
feature-engineeringmachine-learningautomated-ml

More Software Development packages