Is your feature request related to a problem? Please describe.
Dependencies are declared twice — setup.py install_requires and requirements.txt — which can drift out of sync. There is no requires-python despite brightwind/__init__.py warning that Python < 3.11 is deprecated, and heavy optional features currently sit in the mandatory core.
Describe the solution you'd like
Migrate packaging to pyproject.toml (PEP 621) as the single source of truth, and split optional features into extras:
- core:
pandas, numpy, scipy, scikit-learn, matplotlib, requests, six, python-dateutil, jsonschema, jinja2
- extras:
parquet (pyarrow), parquet-fastparquet (fastparquet) [existing], maps, notebook, dev (pytest)
- add
requires-python = ">=3.11" to align with the deprecation warning (and prune the stale 3.6/3.7 classifiers)
Describe alternatives you've considered
Keep setup.py but make install_requires the sole source and delete requirements.txt — a smaller change, but misses the PEP 621 modernisation.
Additional context
This is the umbrella for the extras referenced by the colormap-removal, notebook-deps and gmaps issues. The classifiers currently advertise Python 3.6-3.13.
Is your feature request related to a problem? Please describe.
Dependencies are declared twice —
setup.pyinstall_requiresandrequirements.txt— which can drift out of sync. There is norequires-pythondespitebrightwind/__init__.pywarning that Python < 3.11 is deprecated, and heavy optional features currently sit in the mandatory core.Describe the solution you'd like
Migrate packaging to
pyproject.toml(PEP 621) as the single source of truth, and split optional features into extras:pandas,numpy,scipy,scikit-learn,matplotlib,requests,six,python-dateutil,jsonschema,jinja2parquet(pyarrow),parquet-fastparquet(fastparquet) [existing],maps,notebook,dev(pytest)requires-python = ">=3.11"to align with the deprecation warning (and prune the stale 3.6/3.7 classifiers)Describe alternatives you've considered
Keep
setup.pybut makeinstall_requiresthe sole source and deleterequirements.txt— a smaller change, but misses the PEP 621 modernisation.Additional context
This is the umbrella for the extras referenced by the colormap-removal, notebook-deps and gmaps issues. The classifiers currently advertise Python 3.6-3.13.