Skip to content

Release readiness: packaging, CI matrix, and changelog (steps 14-15)#11

Merged
whitewalls86 merged 2 commits into
masterfrom
step-14-15-release-readiness
Jun 13, 2026
Merged

Release readiness: packaging, CI matrix, and changelog (steps 14-15)#11
whitewalls86 merged 2 commits into
masterfrom
step-14-15-release-readiness

Conversation

@whitewalls86

Copy link
Copy Markdown
Owner

Summary

  • Step 14 — Packaging pass: Add py.typed PEP 561 marker; pin hatchling>=1.27; add license-files, authors, keywords, classifiers (Python 3.10–3.13, MIT, Typed); add Issues/Changelog URLs; add Hatch sdist exclusions for local artifacts (Visor API Docs/, Design Docs/, .coverage, .pytest_cache/, tests/); correct ListingSummary docstring (id/vin always returned)
  • Step 15 — CI and changelog: Split CI into three jobs — lint (3.10 only), test (matrix 3.10/3.11/3.12/3.13 with coverage), and build (python -m build + twine check); add pytest-cov, build, twine to dev deps; add .coverage to .gitignore; normalize CHANGELOG.md to Keep a Changelog 1.1.0 (remove non-standard Future Work section, add comparison-link footer)

Test plan

  • All pre-commit hooks pass (ruff, mypy, pytest) — confirmed locally on both commits
  • CI matrix runs green across Python 3.10–3.13
  • Build job passes twine check for both wheel and sdist
  • Wheel contains visor/py.typed
  • Sdist excludes Visor API Docs/, Design Docs/, .coverage, .pytest_cache/, tests/
  • 228 tests pass, 99% coverage

🤖 Generated with Claude Code

whitewalls86 and others added 2 commits June 13, 2026 09:43
…ngSummary docstring (step 14)

- Add src/visor/py.typed PEP 561 marker so downstream type checkers treat the
  package as typed
- Pin hatchling>=1.27 for PEP 639 license metadata; add license-files=["LICENSE"]
- Add authors, keywords, Python 3.10-3.13 classifiers, MIT and Typing::Typed
  classifiers, and Issues/Changelog URLs to pyproject.toml
- Add [tool.hatch.build.targets.sdist] excludes for Visor API Docs/, Design Docs/,
  .coverage, .pytest_cache/, tests/, and build artifacts
- Correct ListingSummary docstring: id and vin are always returned by the API
  even under fields projection; other fields remain optional

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…(step 15)

- Rewrite CI workflow: split into lint (3.10), test (3.10–3.13 matrix), and
  build jobs; lint and test remain clearly separate steps
- Add pytest-cov, build, and twine to dev deps
- Run tests with --cov=visor --cov-report=term-missing (228 passed, 99% coverage)
- Build job runs python -m build + twine check to verify dist artifacts on each push
- Add .coverage, coverage.xml, htmlcov/ to .gitignore
- Normalize CHANGELOG.md: update Keep a Changelog link to 1.1.0, remove
  non-standard Future Work section, add Unreleased entries for step 14 work,
  add comparison-link footer

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@whitewalls86
whitewalls86 merged commit 22a5add into master Jun 13, 2026
12 checks passed
@whitewalls86
whitewalls86 deleted the step-14-15-release-readiness branch June 13, 2026 15:45
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