build: modernize Python packaging and linting (PEP 621, ruff, uv) - #521
Open
philomath213 wants to merge 6 commits into
Open
build: modernize Python packaging and linting (PEP 621, ruff, uv)#521philomath213 wants to merge 6 commits into
philomath213 wants to merge 6 commits into
Conversation
This was referenced Jul 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces the flake8/black lint stack with ruff + pre-commit, and moves packaging onto current standards.
[build-system]table — builds currently rely on pip's legacy fallback — moves metadata to[project], drops thedistutils.version.LooseVersionimport, addsMANIFEST.in[dependency-groups]+uv.lock; removesrequirements_dev.txt,requirements_dev.lock(it pinned a local--find-linkspath and was unusable) andsetup.cfgnumpyas a runtime dependency — it was never declared, so a barepip install tensealproduced an unimportable packageDropping black also closes both open Dependabot alerts, and is what unblocks linting on Python 3.14.
Verified: wheel builds end-to-end and imports, sdist carries
CMakeLists.txt/cmake//.proto,twine checkandpre-commit run --all-filesclean.The
style:commit is a mechanical formatting pass, split out to keep the tooling diff reviewable.