Skip to content

Modernize tooling: uv, ruff, Python 3.10–3.14, dependabot auto-merge#40

Open
fhightower wants to merge 1 commit into
mainfrom
modernize-tooling-uv-ruff-py310
Open

Modernize tooling: uv, ruff, Python 3.10–3.14, dependabot auto-merge#40
fhightower wants to merge 1 commit into
mainfrom
modernize-tooling-uv-ruff-py310

Conversation

@fhightower

Copy link
Copy Markdown
Contributor
  • Replace setuptools/setup.py with PEP 621 pyproject.toml (hatchling backend)
  • Support Python 3.10–3.14; require Python >=3.10
  • Adopt uv for dependency management with committed uv.lock
  • Pin runtime/dev dependencies to floor+ceiling version ranges
  • Replace black/isort/flake8/pylint/bandit with ruff (format + lint), enforced in CI via docker/lint.sh
  • Add CI workflow (ci.yml) testing the 3.10–3.14 matrix on Linux plus a 3.14 multi-OS job
  • Add Dependabot (uv ecosystem) with dev-dep auto-merge after a 3-day soak
  • Add OIDC trusted-publishing workflow (python-publish.yml)
  • Remove Docker/bumpversion tooling and legacy config (setup.cfg, requirements*.txt, mypy.ini)
  • Swap the black README badge for the ruff badge
  • Coerce python_stack_local_data to a dict (frame f_locals is a proxy in Python 3.13+ per PEP 667)
  • Update test to use ast.Constant (ast.Str removed in Python 3.12); xfail the version-specific dis disassembly snapshot test; add targeted type-ignore for pre-existing loose ast typing

- Replace setuptools/setup.py with PEP 621 pyproject.toml (hatchling backend)
- Support Python 3.10–3.14; require Python >=3.10
- Adopt uv for dependency management with committed uv.lock
- Pin runtime/dev dependencies to floor+ceiling version ranges
- Replace black/isort/flake8/pylint/bandit with ruff (format + lint), enforced in CI via docker/lint.sh
- Add CI workflow (ci.yml) testing the 3.10–3.14 matrix on Linux plus a 3.14 multi-OS job
- Add Dependabot (uv ecosystem) with dev-dep auto-merge after a 3-day soak
- Add OIDC trusted-publishing workflow (python-publish.yml)
- Remove Docker/bumpversion tooling and legacy config (setup.cfg, requirements*.txt, mypy.ini)
- Swap the black README badge for the ruff badge
- Coerce python_stack_local_data to a dict (frame f_locals is a proxy in Python 3.13+ per PEP 667)
- Update test to use ast.Constant (ast.Str removed in Python 3.12); xfail the version-specific dis disassembly snapshot test; add targeted type-ignore for pre-existing loose ast typing

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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