Skip to content

Move package metadata and pytest settings to pyproject.toml - #1637

Open
pganssle wants to merge 2 commits into
ci-uvfrom
packaging-pyproject
Open

pganssle wants to merge 2 commits into
ci-uvfrom
packaging-pyproject

Conversation

@pganssle

@pganssle pganssle commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Summary of changes

This moves package metadata and pytest configuration from setup.cfg to pyproject.toml, with the same Python requirement, dependencies, and Git-derived version scheme. Setuptools remains the backend for this step; setup.py only supplies the transformed README used on PyPI.

This is stacked on #1636. The backend replacement will follow separately.

Pull Request Checklist

  • Changes have tests
  • Authors have been added to AUTHORS.md
  • News fragment added in changelog.d. See CONTRIBUTING.md for details

@pganssle
pganssle force-pushed the packaging-pyproject branch 2 times, most recently from 6445e47 to 0d0679c Compare October 23, 2026 21:58
@pganssle pganssle mentioned this pull request Oct 23, 2026
3 tasks done
@pganssle
pganssle added this pull request to stack #1639 October 23, 2026 22:13
@pganssle
pganssle marked this pull request as ready for review October 23, 2026 23:53
@pganssle
pganssle force-pushed the packaging-pyproject branch from 0d0679c to bcba7b4 Compare October 23, 2026 23:53
Comment thread pyproject.toml Outdated
dynamic = ["version", "readme"]
requires-python = ">=3.11"
dependencies = ["tzdata"]
license = "BSD-3-Clause OR Apache-2.0"

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, I'm not sure OR is right. The pre-2017 code from contributors who never re-licensed is BSD-only, so you can't take the whole package under Apache-2.0, which is what OR says. The last line of LICENSE is that the BSD license applies to everything, so I think the accurate expression is just BSD-3-Clause, or BSD-3-Clause AND Apache-2.0 if we want Apache to show up at all.

Also, since LICENSE points at the AUTHORS file for the list of who has re-licensed, maybe AUTHORS.md should go in license-files too?

Comment thread pyproject.toml Outdated
use_parentheses=true

[tool.setuptools]
zip-safe = true

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can just drop zip-safe now. setuptools only ever used it for eggs and ignores it now.

@pganssle
pganssle force-pushed the packaging-pyproject branch from bcba7b4 to d28551f Compare October 25, 2026 18:38

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