11[build-system ]
2- requires = [" setuptools>=61 " , " setuptools_scm>=7.0 " , " wheel " ]
2+ requires = [" setuptools>=64 " , " setuptools-scm>=8 " ]
33build-backend = " setuptools.build_meta"
44
55[project ]
66name = " TPOT"
77description = " Tree-based Pipeline Optimization Tool"
8+ dynamic = [" version" ]
9+ # TODO: this doesn't seem to match code comments
10+ authors = [{
name =
" Pedro Ribioro" ,
email =
" [email protected] " }]
811readme = " README.md"
9- requires-python = " >=3.10,<3.14"
10- license = { text = " LGPL-3.0" }
11- authors = [
12- { name = " Pedro Ribeiro" }
12+ classifiers =[
13+ " Intended Audience :: Science/Research" ,
14+ " Programming Language :: Python :: 3.10" ,
15+ " Programming Language :: Python :: 3.11" ,
16+ " Programming Language :: Python :: 3.12" ,
17+ " Programming Language :: Python :: 3.13" ,
18+ " Topic :: Scientific/Engineering :: Artificial Intelligence"
1319]
1420keywords = [
1521 " pipeline optimization" ,
@@ -19,42 +25,28 @@ keywords = [
1925 " genetic programming" ,
2026 " evolutionary computation"
2127]
22- classifiers = [
23- " Intended Audience :: Science/Research" ,
24- " Programming Language :: Python :: 3.10" ,
25- " Programming Language :: Python :: 3.11" ,
26- " Programming Language :: Python :: 3.12" ,
27- " Programming Language :: Python :: 3.13" ,
28- " Topic :: Scientific/Engineering :: Artificial Intelligence"
29- ]
28+ license = " LGPL-3.0-only"
29+ requires-python =" >=3.10.0,<3.14.0"
30+
3031dependencies = [
32+ " ConfigSpace>=1.1.1" ,
33+ " distributed>=2024.4.2" ,
34+ " func_timeout>=4.3.5" ,
35+ " joblib>=1.1.1" ,
36+ " lightgbm>=3.3.3" ,
37+ " networkx>=3.0" ,
38+ " nose" ,
3139 " numpy>=1.26.4" ,
32- " scipy>=1.3.1 " ,
40+ " pandas>=2.2.0 " ,
3341 " scikit-learn>=1.6" ,
34- " update_checker>=0.16 " ,
35- " tqdm>=4.36.1 " ,
42+ " scipy>=1.3.1 " ,
43+ # see [tool.uv.sources] below, upstream using deprecated pkg_resources
3644 " stopit>=1.1.1" ,
37- " pandas>=2.2.0" ,
38- " joblib>=1.1.1" ,
39- " xgboost>=3.0.0" ,
40- " matplotlib>=3.6.2" ,
45+ " tqdm>=4.36.1" ,
4146 " traitlets>=5.8.0" ,
42- " lightgbm>=3.3.3" ,
43- " optuna>=3.0.5" ,
44- " networkx>=3.0" ,
45- " dask>=2024.4.2" ,
46- " distributed>=2024.4.2" ,
47- " dask-expr>=1.0.12" ,
48- " dask-jobqueue>=0.8.5" ,
49- " func_timeout>=4.3.5" ,
50- " configspace>=1.1.1" ,
51- " dill>=0.3.9" ,
52- " seaborn>=0.13.2" ,
5347]
5448
55- dynamic = [" version" ]
56-
57- [project .optional-dependencies ]
49+ [dependency-groups ]
5850skrebate = [" skrebate>=0.3.4" ]
5951mdr = [" scikit-mdr>=0.4.4" ]
6052sklearnex = [" scikit-learn-intelex>=2023.2.1" ]
@@ -66,9 +58,14 @@ testing = [
6658 " flake8>=3.9" ,
6759 " tox>=3.24"
6860]
61+ cpu = [" xgboost-cpu (>=3.0) ; extra != 'cuda'" ]
62+ cuda = [" xgboost (>=3.0) ; extra != 'cpu'" ]
63+ nn = [" torch" ]
64+ plot = [" matplotlib>=3.6.2" ]
6965
7066[project .urls ]
71- Homepage = " https://github.com/EpistasisLab/tpot"
67+ Repository = " https://github.com/EpistasisLab/tpot"
68+ Documentation = " https://epistasislab.github.io/tpot/"
7269
7370[project .scripts ]
7471tpot = " tpot:main"
@@ -86,3 +83,11 @@ max-line-length = 120
8683[tool .setuptools_scm ]
8784# setuptools_scm gets the version from Git tags, e.g git tag v1.1.0
8885# then python -m build embeds the version into the package
86+
87+ [[tool .uv .index ]]
88+ name = " pypi"
89+ url = " https://pypi.org/simple"
90+ publish-url = " https://upload.pypi.org/tpot/"
91+
92+ [tool .uv .sources ]
93+ stopit = { git = " https://github.com/jikamens/stopit" }
0 commit comments