Skip to content

Conversation

@nathanchenseanwalter
Copy link
Collaborator

@nathanchenseanwalter nathanchenseanwalter commented Dec 27, 2025

Note

Streamlines CI and updates supported Python and package metadata.

  • Remove unused workflows (greetings.yml, python-package-conda.yml, stale.yml, summary.yml); keep and tidy python-app.yml with OS matrix and Python 3.9–3.12
  • Cap supported Python to <=3.12 in pyproject.toml and metadata; drop 3.13 classifier; add ruff/pytest config and tests path; add a maintainer
  • Relax numpy/pydantic constraints in pyproject.toml; regenerate src/keras2c.egg-info/* and uv.lock to reflect dependency and marker updates

Written by Cursor Bugbot for commit b792c95. This will update automatically on new commits. Configure here.

Copy link

@cursor cursor bot left a 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",
Copy link

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.

Fix in Cursor Fix in Web

dynamic = ["version"]
name = "keras2c"
requires-python = ">=3.7"
requires-python = ">=3.7, <=3.12"
Copy link

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.

Fix in Cursor Fix in Web

Copy link

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 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
Copy link

Copilot AI Dec 27, 2025

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.

Suggested change
numpy
numpy>=1.13.0

Copilot uses AI. Check for mistakes.
numpy>=1.13.0
pydantic<2,>=1.10
numpy
pydantic
Copy link

Copilot AI Dec 27, 2025

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.

Suggested change
pydantic
pydantic<2,>=1.10

Copilot uses AI. Check for mistakes.
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.7
Requires-Python: <=3.12,>=3.7
Copy link

Copilot AI Dec 27, 2025

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.

Suggested change
Requires-Python: <=3.12,>=3.7
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.7

Copilot uses AI. Check for mistakes.
install: >-
mingw-w64-x86_64-gcc
make
- name: Set up Python
Copy link

Copilot AI Dec 27, 2025

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).

Copilot uses AI. Check for mistakes.
dynamic = ["version"]
name = "keras2c"
requires-python = ">=3.7"
requires-python = ">=3.7, <=3.12"
Copy link

Copilot AI Dec 27, 2025

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.

Suggested change
requires-python = ">=3.7, <=3.12"
requires-python = ">=3.7"

Copilot uses AI. Check for mistakes.
Comment on lines +12 to +13
"numpy",
"pydantic",
Copy link

Copilot AI Dec 27, 2025

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.

Suggested change
"numpy",
"pydantic",
"numpy>=1.13.0",
"pydantic>=1.10,<2",

Copilot uses AI. Check for mistakes.
@nathanchenseanwalter nathanchenseanwalter merged commit 7b4ac94 into master Dec 27, 2025
21 checks passed
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