Skip to content

Modernize tooling: ruff + pyproject.toml, bump to 1.0.0#12

Merged
iskandr merged 1 commit intomasterfrom
modernize-tooling
Apr 20, 2026
Merged

Modernize tooling: ruff + pyproject.toml, bump to 1.0.0#12
iskandr merged 1 commit intomasterfrom
modernize-tooling

Conversation

@iskandr
Copy link
Copy Markdown
Collaborator

@iskandr iskandr commented Apr 20, 2026

Summary

  • Switch lint/format to ruff and move project metadata into pyproject.toml (setuptools dynamic version, pytest, coverage, dev extras). Drops pylintrc and requirements.txt.
  • Add top-level scripts matching our sibling openvax repos: format.sh, lint.sh, test.sh, develop.sh, deploy.sh (deploy still uses twine upload for now and gates on lint.sh + test.sh).
  • Introduce serializable/version.py as the single source of truth for __version__ and bump to 1.0.0 (+ flip classifier to 5 - Production/Stable).
  • Add AGENTS.md and CLAUDE.md documenting golden rules, scripts, and workflow conventions.
  • Rework .github/workflows/tests.yml into a lint job + 3.9–3.12 test matrix with coveralls upload.
  • Clean up existing source to pass ruff: f-strings, raise ... from exc, ClassVar on mutable class default, named exception in place of bare except, module-level lookup cache instead of mutable-default caching.

Test plan

  • ./lint.sh (ruff check + ruff format --check)
  • ./test.sh (27 passed, 88% coverage locally on Python 3.12)
  • CI: lint + test matrix green on 3.9 / 3.10 / 3.11 / 3.12

- Replace pylint/flake8/requirements.txt with ruff and pyproject.toml (ruff
  lint + format, pytest, coverage, setuptools dynamic version, dev extras).
- Move __version__ into serializable/version.py and bump to 1.0.0.
- Add AGENTS.md + CLAUDE.md with workflow rules and script conventions
  aligned with other openvax repos.
- Add format.sh and develop.sh; update lint.sh to run ruff, deploy.sh to
  gate on lint + test before building and uploading via twine.
- Split tests.yml into lint + test matrix (Python 3.9-3.12) and clean up
  .gitignore.
- Clean up existing source to pass ruff (f-strings, raise ... from,
  ClassVar, named exception on bare except, module-level lookup cache).
@coveralls
Copy link
Copy Markdown

Coverage Report for CI Build 24680195872

Coverage increased (+0.03%) to 88.384%

Details

  • Coverage increased (+0.03%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 198
Covered Lines: 175
Line Coverage: 88.38%
Coverage Strength: 0.88 hits per line

💛 - Coveralls

@iskandr iskandr merged commit 1e9e3b3 into master Apr 20, 2026
5 checks passed
@iskandr iskandr deleted the modernize-tooling branch April 20, 2026 17:18
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.

2 participants