Skip to content

build: modernize Python packaging and linting (PEP 621, ruff, uv) - #521

Open
philomath213 wants to merge 6 commits into
mainfrom
build/modernize-python-tooling
Open

build: modernize Python packaging and linting (PEP 621, ruff, uv)#521
philomath213 wants to merge 6 commits into
mainfrom
build/modernize-python-tooling

Conversation

@philomath213

Copy link
Copy Markdown
Member

Replaces the flake8/black lint stack with ruff + pre-commit, and moves packaging onto current standards.

  • ruff replaces flake8 and black, run through pre-commit (which also owns clang-format); the Linter job moves to Python 3.14
  • PEP 517/621: adds the missing [build-system] table — builds currently rely on pip's legacy fallback — moves metadata to [project], drops the distutils.version.LooseVersion import, adds MANIFEST.in
  • Dev dependencies via uv: PEP 735 [dependency-groups] + uv.lock; removes requirements_dev.txt, requirements_dev.lock (it pinned a local --find-links path and was unusable) and setup.cfg
  • Declares numpy as a runtime dependency — it was never declared, so a bare pip install tenseal produced an unimportable package
  • Removes two dead CI scripts

Dropping 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 check and pre-commit run --all-files clean.

The style: commit is a mechanical formatting pass, split out to keep the tooling diff reviewable.

@philomath213
philomath213 requested a review from youben11 July 29, 2026 19:35
@philomath213 philomath213 added Build Related to the build of the package Type: Improvement 📈 Performance improvement not introducing a new feature or requiring a major refactor labels Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Build Related to the build of the package Type: Improvement 📈 Performance improvement not introducing a new feature or requiring a major refactor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant