Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #68 +/- ##
===========================================
- Coverage 100.00% 98.54% -1.46%
===========================================
Files 6 10 +4
Lines 147 206 +59
Branches 0 31 +31
===========================================
+ Hits 147 203 +56
- Partials 0 3 +3 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Pull request overview
This PR modernizes the project’s Python/tooling baseline by moving to uv/uv.lock, updating dependency management and CI workflows, and refreshing docs + developer tooling configuration.
Changes:
- Add
uv.lockand migratepyproject.tomldev/test/docs deps to[dependency-groups]with updated tooling versions and Python requirement (>=3.14). - Replace existing CI/release workflows with
uv-based lint/test, updated PyPI publishing steps, and a dedicated docs workflow. - Update pre-commit configuration and adjust a few imports to be
TYPE_CHECKING-only.
Reviewed changes
Copilot reviewed 13 out of 17 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
uv.lock |
Adds a UV lockfile for reproducible installs. |
src/bpp/tokens.py |
Moves Sequence import under TYPE_CHECKING. |
src/bpp/interpreter.py |
Moves Sequence import under TYPE_CHECKING. |
pyproject.toml |
Switches to dependency-groups; updates Python/tooling config. |
noxfile.py |
Updates lint commands (prek/ty) and removes install session. |
docs/Makefile |
Removes legacy Sphinx Makefile. |
docs/make.bat |
Removes legacy Sphinx Windows batch file. |
docs/index.rst |
Adds new docs index entrypoint. |
docs/conf.py |
Minor change to exception handling in linkcode_resolve. |
docs/changelog.rst |
Adds a placeholder changelog page. |
.pre-commit-config.yaml |
Updates hooks and adds uv lock + zizmor hooks. |
.gitignore |
Removes .idea and docs/build ignores. |
.github/workflows/python-publish-pypi.yaml |
Updates build/publish workflow and actions pins. |
.github/workflows/python-ci.yaml |
Replaces reusable workflows with explicit uv lint/test/codecov jobs. |
.github/workflows/docs.yaml |
Adds docs build + GitHub Pages deploy workflow. |
.github/workflows/dependency-review.yaml |
Updates dependency review workflow and triggers. |
.github/dependabot.yaml |
Updates Dependabot ecosystems (actions/uv/pre-commit) and grouping. |
Comments suppressed due to low confidence (3)
docs/conf.py:96
except OSError, TypeError:is invalid syntax in Python 3 (it’s Python 2 style). Useexcept (OSError, TypeError):to catch multiple exception types.
pyproject.toml:82[tool.pytest]isn’t a recognized pytest configuration table; pytest reads from[tool.pytest.ini_options]. As written, these settings will be ignored. Move options undertool.pytest.ini_options(and note--strictwas split into--strict-config/--strict-markersin modern pytest).
[tool.pytest]
strict = true
junit_family = "xunit1"
.github/workflows/python-publish-pypi.yaml:55
- The
with:block indentation is off (print-hashis over-indented). This makes the workflow invalid YAML / causes the input to be ignored. Alignprint-hashunderwith:.
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
with:
print-hash: true
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Bradley Reynolds <bradley.reynolds@tailstory.dev>
Signed-off-by: Bradley Reynolds <bradley.reynolds@tailstory.dev>
No description provided.