Skip to content

Modernize#68

Merged
shenanigansd merged 5 commits intomainfrom
br/modernize
Apr 12, 2026
Merged

Modernize#68
shenanigansd merged 5 commits intomainfrom
br/modernize

Conversation

@shenanigansd
Copy link
Copy Markdown
Member

No description provided.

Signed-off-by: Bradley Reynolds <bradley.reynolds@tailstory.dev>
Comment thread docs/conf.py Dismissed
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 12, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.54%. Comparing base (bb7bab7) to head (7e99c49).
⚠️ Report is 3 commits behind head on main.
✅ All tests successful. No failed tests found.

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.
📢 Have feedback on the report? Share it here.

Signed-off-by: Bradley Reynolds <bradley.reynolds@tailstory.dev>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.lock and migrate pyproject.toml dev/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). Use except (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 under tool.pytest.ini_options (and note --strict was split into --strict-config / --strict-markers in modern pytest).
[tool.pytest]
strict = true
junit_family = "xunit1"

.github/workflows/python-publish-pypi.yaml:55

  • The with: block indentation is off (print-hash is over-indented). This makes the workflow invalid YAML / causes the input to be ignored. Align print-hash under with:.
    - 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.

Comment thread src/bpp/tokens.py
Comment thread src/bpp/interpreter.py
Comment thread .github/workflows/python-ci.yaml
Comment thread .github/workflows/python-ci.yaml
Comment thread .github/workflows/python-ci.yaml
Comment thread .github/workflows/docs.yaml
Comment thread .github/workflows/docs.yaml
Comment thread .github/workflows/dependency-review.yaml
Comment thread .github/workflows/dependency-review.yaml
Comment thread .github/workflows/python-publish-pypi.yaml Outdated
Signed-off-by: Bradley Reynolds <bradley.reynolds@tailstory.dev>
Comment thread docs/conf.py Dismissed
Signed-off-by: Bradley Reynolds <bradley.reynolds@tailstory.dev>
Signed-off-by: Bradley Reynolds <bradley.reynolds@tailstory.dev>
@shenanigansd shenanigansd merged commit fad3e28 into main Apr 12, 2026
13 of 15 checks passed
@shenanigansd shenanigansd deleted the br/modernize branch April 12, 2026 17:08
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