TPOT
TPOT is a Python automated machine learning tool that uses genetic programming to optimize machine learning pipelines.
What TPOT is
TPOT is a Python automated machine learning tool that uses genetic programming to optimize machine learning pipelines. Its current package includes genetic feature selection, flexible search space definitions, multi-objective optimization, and a modular evolutionary algorithm framework. Documentation covers classifiers and regressors as well as graph, sequential, tree, and union pipeline types. When preprocessing is enabled, TPOT imputes missing values, one-hot encodes categorical features, and standardizes data. It uses Dask for parallel processing and offers model evaluation, automated machine learning, and API access.
TPOT requires Python and can be installed manually or in a conda environment; the documented Python range is >=3.10 and <3.14. Installation documentation lists scikit-learn and an optional tpot[sklearnex] choice for extra scikit-learn extensions. The project is free software under the GNU Lesser General Public License version 3 or later, without warranty. Its documentation cautions that input formatting is not checked and assumes selected operators can handle the data. It also notes preprocessing is fitted and transformed on the full training set before cross-validation splitting. Scikit-learn extensions may have compatibility or performance issues on Arm-based CPUs such as M1 Macs.
Good
- Free software under LGPL version 3 or later
- Supports classifiers, regressors, and several pipeline types
- Preprocessing can impute, encode, and standardize data
- Dask is used for parallel processing
Watch out
- Requires Python >=3.10 and <3.14
- Input data formatting is not checked
- Preprocessing occurs before cross-validation splitting
- Scikit-learn extensions may have issues on Arm CPUs
Who it suits
TPOT suits Python users building or evaluating machine learning pipelines who want genetic programming and configurable pipeline types. Users should be prepared to supply data that works with their chosen operators.
Verdict
TPOT provides a flexible pipeline-optimization toolkit for Python, with preprocessing and parallel processing options. Its assumptions about input data and preprocessing order matter when setting up an evaluation workflow.
Plans and prices
From TPOT's own pricing page, checked 9 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| TPOT | Free | Free software under LGPL-3.0-or-later |
The facts
Each one read from TPOT's own pages, with the date it was checked.
What it does
- Data handling limit
- TPOT does not check whether input data is correctly formatted and assumes the chosen operators can handle the supplied data.checked 9 Oct 2026
- Features
- The current package includes genetic feature selection, flexible search space definitions, multi-objective optimization, and a modular evolutionary algorithm framework.checked 9 Oct 2026
- Installation
- TPOT requires Python and can be installed in a conda environment or manually; the documented Python range is >=3.10 and <3.14.checked 9 Oct 2026
- Integrations
- The installation documentation lists scikit-learn and offers extra scikit-learn extensions through the tpot[sklearnex] installation option.checked 9 Oct 2026
- License
- TPOT is free software distributed under the GNU Lesser General Public License version 3 or later, without warranty.checked 9 Oct 2026
- Parallel processing
- TPOT uses Dask for parallel processing and recommends guarding script code with an if __name__ == "__main__" block.checked 9 Oct 2026
- Pipeline types
- The documentation includes classifiers and regressors, as well as graph, sequential, tree, and union pipeline types.checked 9 Oct 2026
- Preprocessing
- With preprocessing enabled, TPOT imputes missing values, one-hot encodes categorical features, and standardizes data.checked 9 Oct 2026
- Preprocessing limit
- The documentation says preprocessing is currently fitted and transformed on the entire training set before cross-validation splitting.checked 9 Oct 2026
- Purpose
- TPOT is a Python automated machine learning tool that optimizes machine learning pipelines using genetic programming.checked 9 Oct 2026
- Research focus
- The project says TPOT was developed in the Artificial Intelligence Innovation Lab at Cedars-Sinai with NIH funding.checked 9 Oct 2026
- Support
- The project directs users to its GitHub issues to report bugs or suggest enhancements and to discuss extensions.checked 9 Oct 2026
The company
- Founded
- 2016checked 28 Sep 2026
Where it runs
- Platform caveat
- The documentation warns that scikit-learn extensions may have compatibility or performance issues on Arm-based CPUs such as M1 Macs.checked 9 Oct 2026
Alternatives to TPOT
- 1
BigML
Free planWebAPImacOSSelf-hosted7.7From $10,000 a year - 2
AutoKeras
Free planOpen sourceAPILinuxmacOSSelf-hosted7.3Free plan - 3
MLJAR AutoML
Free planWebLinuxmacOSSelf-hosted7.1From $20 a month - 4

Obviously AI
Free planWebAPI7.1Free plan - 5

Amazon SageMaker Autopilot
Free planWebAPI6.9Free plan - 6
FEDOT
Free planAPILinuxmacOSSelf-hosted6.8Free plan
