Tooling refresh: PEP-621 pyproject, tox for py3.10-3.14, flake8 config #2

Merged
johnpreston merged 4 commits from chore/tooling-refresh into chore/sync-docs 2026-09-14 17:39:28 +00:00
Owner
  • Migrate [tool.poetry] metadata to PEP-621 [project] (Poetry 2.x clean, no warnings)
  • Regenerate poetry.lock; add roman dev dep (Sphinx latex builder needs it on py3.13+)
  • Rewrite tox.ini: py310-py314 matrix, drop travis + missing requirements_dev.txt, add pre-commit lint env
  • flake8 added to dev deps; config moved from pyproject to .flake8
  • Makefile: fix lint/coverage source paths (src/ layout)
  • black: missing magic trailing comma in application_autoscaling
- Migrate `[tool.poetry]` metadata to PEP-621 `[project]` (Poetry 2.x clean, no warnings) - Regenerate poetry.lock; add roman dev dep (Sphinx latex builder needs it on py3.13+) - Rewrite tox.ini: py310-py314 matrix, drop travis + missing requirements_dev.txt, add pre-commit lint env - flake8 added to dev deps; config moved from pyproject to .flake8 - Makefile: fix lint/coverage source paths (src/ layout) - black: missing magic trailing comma in application_autoscaling
- Migrate [tool.poetry] metadata to PEP-621 [project] (Poetry 2.x clean)
- Regenerate poetry.lock; poetry check is warning-free
- Add flake8 to dev deps; move flake8 config from pyproject to .flake8
- Rewrite tox.ini: py310-py314 matrix, drop travis and missing
  requirements_dev.txt, add pre-commit lint env
- Makefile: fix lint/coverage source paths (src/ layout)
Sphinx 5.x fails with 'No module named roman' when building docs on
Python 3.13+ (sphinx.builders.latex import chain). Declaring roman
explicitly fixes make docs and the CI docs job on all matrix versions.
Replace flake8/black/isort/pyupgrade with ruff (#3)
All checks were successful
CI / Lint (ruff) (pull_request) Successful in 10s
CI / Tests (Python 3.11) (pull_request) Successful in 2m0s
CI / Tests (Python 3.10) (pull_request) Successful in 2m10s
CI / Tests (Python 3.12) (pull_request) Successful in 1m18s
CI / Tests (Python 3.14) (pull_request) Successful in 1m57s
CI / Tests (Python 3.13) (pull_request) Successful in 2m2s
CI / Package build (pull_request) Successful in 1m44s
CI / Docs build (pull_request) Successful in 2m8s
1c6a377632
ruff 0.16.6 for both linting (E,F,W,I,UP,B,C4,SIM,RUF; E501 ignored for long ARN regex literals; keep-runtime-typing preserved to match the old pyupgrade flag) and formatting.

Fixes applied along the way:
- 40 implicit-Optional parameters (RUF013), PEP604 unions in future-annotations modules (UP007)
- loop-variable shadowing in ECS describe chunking (B020)
- warnings stacklevel (B028), raise-from in test_arns (B904)
- keyisset/keypresent return conditions simplified (SIM103/SIM118)
- module docstring placement in aws/__init__.py (E402)
- unused imports/variables, dict.get key checks (RUF019)

Wiring: pre-commit ruff-check + ruff-format hooks (rev pinned to the dev dependency), Makefile lint/conform ruff-based, .flake8 and [tool.black]/[tool.isort] dropped, flake8/black/isort/pyupgrade/flake8-docstrings removed from dev deps.

Verified: ruff check + format clean; 36 passed / 3 deselected (broken tests fixed in the next PR).
Co-authored-by: John M <john@ews-network.net>
Reviewed-on: #3
johnpreston merged commit bb1b3fc4af into chore/sync-docs 2026-09-14 17:39:28 +00:00
Sign in to join this conversation.
No reviewers
No labels
ci::lib
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
compose-x/compose-x-common!2
No description provided.