Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Several newly added @override annotations are applied to members that are eqx.AbstractVar attributes in the base class (and some are ordered incorrectly with @property), which is likely to break static override-checking.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR raises the project’s minimum supported Python version to 3.12+ and updates the codebase to take advantage of newer typing features (PEP 695 type parameters and typing.override), while aligning CI to the new support window.
Changes:
- Bump packaging metadata to
requires-python = ">=3.12"and drop 3.10/3.11 from CI. - Adopt
typing.overrideacross several implementations to improve static override-checking. - Replace
TypeVar-based generics with Python 3.12 type-parameter syntax in internal helpers.
File summaries
| File | Description |
|---|---|
src/frontx/neural.py |
Adds typing.override usage for solution wrapper members. |
src/frontx/models.py |
Marks model overrides with @override for static checking. |
src/frontx/_inverse/param.py |
Migrates generics to PEP 695 type-parameter syntax. |
src/frontx/_inverse/interpolated.py |
Adds @override markers for solution methods. |
src/frontx/_inverse/fit.py |
Adds @override markers to scaled-solution wrappers. |
src/frontx/_forward.py |
Adds @override markers to forward-solver solution API. |
src/frontx/_boltzmann.py |
Migrates boltzmannmethod typing to PEP 695 type parameters. |
pyproject.toml |
Updates Python requirement and related metadata. |
.github/workflows/ci.yml |
Drops Python 3.10/3.11 from the CI matrix. |
Review details
Suppressed comments (2)
src/frontx/_forward.py:76
- Decorator order matters for type-checkers: with
@overrideabove@property,@overrideis applied to thepropertyobject rather than the function. Swap the decorators so@overridedecorates the function and@propertywraps it.
@override
@property
def b(self) -> jax.Array:
src/frontx/_forward.py:82
- Decorator order matters for type-checkers: with
@overrideabove@property,@overrideis applied to thepropertyobject rather than the function. Swap the decorators so@overridedecorates the function and@propertywraps it.
@override
@property
def d_dob(self) -> jax.Array:
- Files reviewed: 10/10 changed files
- Comments generated: 6
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #100 +/- ##
==========================================
+ Coverage 85.99% 86.55% +0.55%
==========================================
Files 13 13
Lines 557 580 +23
==========================================
+ Hits 479 502 +23
Misses 78 78 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
No description provided.