-
Notifications
You must be signed in to change notification settings - Fork 43
Updates #38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updates #38
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the final PR Bugbot will review for you during this billing cycle
Your free Bugbot reviews will reset on January 7
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| "numpy>=1.13.0", | ||
| "pydantic>=1.10,<2", | ||
| "numpy", | ||
| "pydantic", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pydantic v2 incompatibility due to removed version constraint
The pydantic version constraint >=1.10,<2 was removed from pyproject.toml, but the code in src/keras2c/types.py uses pydantic v1-specific APIs that don't exist in pydantic v2. Specifically, update_forward_refs() (replaced by model_rebuild() in v2) and nested class Config: (replaced by model_config = ConfigDict(...) in v2) will cause runtime errors when pydantic 2.x is installed. Meanwhile, requirements.txt and environment.yml still retain the <2 constraint, creating an inconsistency where pip installs may break while conda installs work.
| dynamic = ["version"] | ||
| name = "keras2c" | ||
| requires-python = ">=3.7" | ||
| requires-python = ">=3.7, <=3.12" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Travis CI tests Python versions excluded by new constraints
The requires-python constraint was changed to >=3.7, <=3.12, but the existing .travis.yml configuration still tests Python 3.6 and Python 3.13. When Travis CI runs, pip installations will fail for these Python versions because the package explicitly declares it doesn't support them. This causes CI test failures for two matrix entries without any code change notification.
There was a problem hiding this 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 updates the project's dependencies and Python version constraints, removes several GitHub workflow files, and adds a new maintainer. The changes aim to modernize the dependency management by removing specific version constraints and updating the lock file.
Key changes include:
- Restricting Python support to version 3.7-3.12 (adding an upper bound and removing 3.13 classifier)
- Removing version constraints from numpy and pydantic dependencies
- Updating the uv.lock file with new package versions and removing Python 3.13 wheel entries
- Deleting several GitHub Actions workflow files (greetings, stale, summary, python-package-conda)
- Adding Nathaniel Chen as a maintainer
Reviewed changes
Copilot reviewed 8 out of 10 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Added Python <=3.12 constraint, removed numpy/pydantic version specs, added new maintainer, removed Python 3.13 classifier |
| uv.lock | Updated lock file with Python <=3.12 constraint, removed Python 3.13 package wheels, consolidated resolution markers |
| src/keras2c.egg-info/requires.txt | Removed version specifications from numpy and pydantic dependencies |
| src/keras2c.egg-info/PKG-INFO | Updated metadata with new Python constraint, removed 3.13 classifier, added maintainer |
| requirements.txt | Removed trailing empty line |
| .github/workflows/summary.yml | Deleted GitHub Actions workflow for AI-powered issue summarization |
| .github/workflows/stale.yml | Deleted GitHub Actions workflow for marking stale issues/PRs |
| .github/workflows/python-package-conda.yml | Deleted Conda-based testing workflow |
| .github/workflows/python-app.yml | Minor formatting changes and updated step name from "Set up Python 3.10" to "Set up Python" |
| .github/workflows/greetings.yml | Deleted GitHub Actions workflow for greeting first-time contributors |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| keras | ||
| numpy>=1.13.0 | ||
| pydantic<2,>=1.10 | ||
| numpy |
Copilot
AI
Dec 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removing the version constraint from numpy (was "numpy>=1.13.0") could lead to compatibility issues. While numpy 1.13.0 is quite old, having a minimum version ensures compatibility with the codebase. Consider keeping at least a minimum version constraint to avoid potential breaking changes from very old or very new numpy versions.
| numpy | |
| numpy>=1.13.0 |
| numpy>=1.13.0 | ||
| pydantic<2,>=1.10 | ||
| numpy | ||
| pydantic |
Copilot
AI
Dec 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removing the version constraint from pydantic (was "pydantic<2,>=1.10") is a critical issue. Pydantic v2 introduced significant breaking changes from v1, including changes to the API, validation behavior, and configuration. Without this constraint, users could inadvertently install pydantic v2 and encounter runtime errors or unexpected behavior. This constraint should be retained to prevent breaking changes.
| pydantic | |
| pydantic<2,>=1.10 |
| Classifier: Programming Language :: Python :: 3.12 | ||
| Classifier: Programming Language :: Python :: 3.13 | ||
| Requires-Python: >=3.7 | ||
| Requires-Python: <=3.12,>=3.7 |
Copilot
AI
Dec 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Python version constraint change from ">=3.7" to "<=3.12,>=3.7" adds an upper bound that will prevent installation on Python 3.13 and later. This is generally not recommended unless there are known incompatibilities, as it prevents users from adopting newer Python versions. The lock file also shows this package had Python 3.13 support previously (line 22 in the diff shows "Programming Language :: Python :: 3.13" was removed), suggesting this is a regression in supported Python versions.
| Requires-Python: <=3.12,>=3.7 | |
| Classifier: Programming Language :: Python :: 3.13 | |
| Requires-Python: >=3.7 |
| install: >- | ||
| mingw-w64-x86_64-gcc | ||
| make | ||
| - name: Set up Python |
Copilot
AI
Dec 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The step name was changed from "Set up Python 3.10" to "Set up Python", but the comment is somewhat misleading since the version is parameterized through the matrix strategy rather than being hardcoded. While this change improves flexibility, consider whether the workflow matrix actually includes all the Python versions the package claims to support (3.7-3.12 based on the new constraints).
| dynamic = ["version"] | ||
| name = "keras2c" | ||
| requires-python = ">=3.7" | ||
| requires-python = ">=3.7, <=3.12" |
Copilot
AI
Dec 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The upper bound constraint <=3.12 on Python version is overly restrictive and will prevent this package from being used with Python 3.13 and future versions. Unless there's a specific incompatibility, it's generally better practice to avoid upper bounds on Python versions to allow forward compatibility. If Python 3.13 support isn't ready yet, consider testing and supporting it rather than permanently blocking it.
| requires-python = ">=3.7, <=3.12" | |
| requires-python = ">=3.7" |
| "numpy", | ||
| "pydantic", |
Copilot
AI
Dec 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removing version constraints from numpy and pydantic dependencies can lead to compatibility issues. The original constraints (numpy>=1.13.0 and pydantic>=1.10,<2) were likely in place for good reasons. Specifically, pydantic v2 introduced breaking changes from v1, so removing the upper bound could break existing code. Consider keeping at least the pydantic version constraint to avoid unexpected breaking changes.
| "numpy", | |
| "pydantic", | |
| "numpy>=1.13.0", | |
| "pydantic>=1.10,<2", |
Note
Streamlines CI and updates supported Python and package metadata.
greetings.yml,python-package-conda.yml,stale.yml,summary.yml); keep and tidypython-app.ymlwith OS matrix and Python 3.9–3.12<=3.12inpyproject.tomland metadata; drop 3.13 classifier; add ruff/pytest config andtestspath; add a maintainernumpy/pydanticconstraints inpyproject.toml; regeneratesrc/keras2c.egg-info/*anduv.lockto reflect dependency and marker updatesWritten by Cursor Bugbot for commit b792c95. This will update automatically on new commits. Configure here.