Skip to content

Use pyproject.toml and PEP 517 build packend#3817

Draft
madig wants to merge 11 commits into
mainfrom
use-pyproject-toml-and-pep517
Draft

Use pyproject.toml and PEP 517 build packend#3817
madig wants to merge 11 commits into
mainfrom
use-pyproject-toml-and-pep517

Conversation

@madig
Copy link
Copy Markdown
Collaborator

@madig madig commented Apr 30, 2025

My attempt at #3816 :)

This PR:

  • Switches the project to use a pyproject.toml to centralize package setup, depedency grouping and tool settings
  • Keeps using setuptools to build Cython-ized wheels, but simplifies the code greatly (see build_backend.py and setup.py and how it's driven by tox.ini)
  • Removes the unused fonttools entrypoint script
  • Set up setuptools_scm to read the package version from the Git tag, like many other projects, obviating bumpversion and similar tools
  • Sets up tox to use the tox-uv package, to make full use of uv

You can build pure wheels with uv build --wheel and Cythonized packages with uv build -C FONTTOOLS_WITH_CYTHON=true.

TODO:

  • Would need to switch tox over to tox-uv maybe.
  • Find a replacement for the code that updates the Changelog on release.
  • How to install manpages?

@benkiel
Copy link
Copy Markdown
Collaborator

benkiel commented Apr 30, 2025

Very interested in this outcome, need to do this for all the robotools repositories

@madig
Copy link
Copy Markdown
Collaborator Author

madig commented May 1, 2025

Can't make use of https://github.com/tox-dev/tox/blob/4a8e50e2cdd420d0b058b747092dbfc72192db51/tests/tox_env/python/virtual_env/package/test_package_pyproject.py#L362 in tox.ini to get rid of the env var completely, the setting never makes it into the custom backend?!

@madig madig force-pushed the minor-housekeeping branch from a9ba83e to 6dcf268 Compare May 6, 2025 09:25
Base automatically changed from minor-housekeeping to main May 6, 2025 09:42
@madig madig force-pushed the use-pyproject-toml-and-pep517 branch from e51a22b to ea6dc94 Compare May 6, 2025 09:46
madig added 2 commits May 6, 2025 10:56
[skip ci]
@madig
Copy link
Copy Markdown
Collaborator Author

madig commented Feb 23, 2026

Apparently tox has fixed tox-dev/tox#3125, which would hopefully help to make passing options more idiomatic/simpler.

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.

2 participants