Skip to content

[INTERNAL] package with pyproject.toml - #69

Open
aguirreSL wants to merge 1 commit into
PyTTaMaster:developmentfrom
aguirreSL:dev-packaging
Open

aguirreSL wants to merge 1 commit into
PyTTaMaster:developmentfrom
aguirreSL:dev-packaging

Conversation

@aguirreSL

@aguirreSL aguirreSL commented Oct 31, 2026 •

Copy link
Copy Markdown

Replaces setup.py with pyproject.toml, keeping the name, version (0.1.2a), authors, license and packages.

Changes to what gets installed:

  1. Python 3.10 or later is required, and the classifiers list 3.10 to 3.12. The previous ones (3.6 to 3.8) are past their end of life and no longer installable with current NumPy and Numba.
  2. Each dependency has a lower bound, the first release with wheels for Python 3.10. There are no upper bounds.
  3. soundfile is dropped, since no module imports it.
  4. more-itertools and kaleido move to the extra waterfall, since only plot_waterfall uses them, and it imports more_itertools inside the function. The extras test (pytest) and docs (sphinx, sphinx_rtd_theme) are new.

Other files:

  1. requirements.txt is removed. Its pins were from 2019 (numpy==1.17.4, scipy==1.3.3) and did not install on current Python.
  2. environment.yml was an export of one Linux machine with Python 3.7. It now lists the packages PyTTa needs, from conda-forge, and installs PyTTa from the clone.
  3. The publishing workflow builds with python -m build in place of python3 setup.py sdist bdist_wheel.
  4. The README states the requirements (with PortAudio on Linux) and the ways to install.

Checked by building the sdist and the wheel with python -m build, with no warnings, and installing the wheel in a new virtual environment with Python 3.12. The package imports from site-packages, and the test suite gives the same result as on development (7 known failures, fixed by #52 and #60). pip install -e ".[test]" also works, which is how #61 installs PyTTa in CI. I did not test environment.yml with conda.

Co-Authored-By: Claude Fable 5.1 noreply@anthropic.com

pyproject.toml replaces setup.py, with the same name, version, authors
and packages. Dependencies get lower bounds (the first releases with
wheels for Python 3.10, now the minimum), soundfile is dropped since no
module imports it, and more-itertools and kaleido move to the extra
'waterfall', as only plot_waterfall uses them. Extras 'test' and 'docs'
list the tools for tests and documentation.

requirements.txt, with pins from 2019, is removed; environment.yml is
reduced to the packages PyTTa needs, from conda-forge, and installs PyTTa
from the clone. The publishing workflow builds with python -m build, and
the README states the requirements and ways to install.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant