feat: modernize repo to use uv and pyproject.toml (PEP 621/735) - #41
feat: modernize repo to use uv and pyproject.toml (PEP 621/735)#41farhan wants to merge 3 commits into
Conversation
Split out of farhan/modernize-repo; ruff retained there for adoption in a future epic (per openedx/public-engineering#506). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Move repo_tools_data_schema/ → src/repo_tools_data_schema/ using git mv - Add where = ["src"] to [tool.setuptools.packages.find] in pyproject.toml - Switch coverage config from source = [...] to source_pkgs = [...] for src/ layout - Update tox.ini lint commands to point at src/repo_tools_data_schema - Update docs/conf.py to use ../src path for autodoc Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #41 +/- ##
=======================================
Coverage ? 33.33%
=======================================
Files ? 2
Lines ? 54
Branches ? 7
=======================================
Hits ? 18
Misses ? 36
Partials ? 0
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
With source_pkgs in [tool.coverage.run] handling the measurement target, --cov=<pkg> on the pytest command line causes a redundant path-based lookup that triggers a CoverageWarning. Using bare --cov lets pyproject.toml config control what gets measured. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Re-implementation update — src/ layout added Two new commits added to this branch since the last push:
All tox environments (py312, quality, docs) and |
Important
PR implemented with the assistance of Claude Code, human-reviewed and improved before pushing to code review.
Summary
Modernize `openedx-webhooks-data-schema` to uv + pyproject.toml (PEP 621/735) + src/ layout.
Part of openedx/public-engineering#506.
Removed
Deleted files: `setup.py`, `setup.cfg`, `requirements/`, `MANIFEST.in`
Removed Makefile targets:
Python 3.11 dropped
Python 3.11 is no longer supported by Open edX platform-wide. Removed from the tox envlist, CI matrix, and classifiers.
Not included/implemented
Versioning
[Static] `version = "2.0"` declared directly in `pyproject.toml` — main had no PyPI publish workflow, so `setuptools-scm` is not used and the version is bumped manually on each release tag.
Testing Notes
This PR has not been manually tested against the repo's own features. Testing relied on CI checks and local agent tooling (`make requirements`, `make quality`, `make test`, `python -m build`). Repo-owner is encouraged to run the repo's feature tests before merging.
Code reviewer notes:
🤖 Generated with Claude Code