Skip to content

Add latest Python/JAX/NumPy CI job; bump version to 0.1.1 - #52

Merged
msperryucsd merged 1 commit into
mainfrom
ci/latest-deps-v0.1.1
Oct 9, 2026
Merged

msperryucsd merged 1 commit into
mainfrom
ci/latest-deps-v0.1.1

Conversation

@HgXe

@HgXe HgXe commented Oct 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Adds a latest job to the Tests workflow. It runs on the newest stable Python that actions/setup-python offers (3.x with check-latest) and installs the newest JAX and NumPy, ignoring the pins in requirements.txt. The job prints the versions it resolved.
  • Fixes the three test failures this job surfaced:
    • VariableGroup.add_check read self.__annotations__. On Python 3.14 (PEP 649/749), instances no longer inherit class annotations, so this raised AttributeError. It now checks the dataclass field names, which also covers fields inherited from a parent group.
    • Variable.__getitem__ doctest: under NumPy 2, np.all(...) displays as np.True_. The example now uses np.array_equal, which returns a Python bool.
    • test_custom_implicit assigned a shape-(1,) array to a single element, which NumPy 2.5 rejects. It now reduces with np.sum, as the file's second custom op already does.
  • Bumps the version to 0.1.1 in csdl_alpha/__init__.py and in recipe/recipe.yaml. The recipe was still at 0.0.0a2, so a tag build would have published the wrong version.

Testing

Ran the full suite locally (377 passed, 2 skipped) in two environments:

  • Python 3.14.8, JAX 0.11.2, NumPy 2.5.3, SciPy 1.18.1 (what the new job resolves to today)
  • Python 3.9.23, JAX 0.4.30, NumPy 1.24.3 (matches the existing 3.9 job)

Note: Python 3.15.0 was released today but is not in setup-python yet, and h5py has no 3.15 wheels yet. When the runners pick up 3.15, this job will move to it automatically. It may then fail until h5py publishes wheels.

Add a `latest` job to the Tests workflow that runs on the newest stable
Python with the newest JAX and NumPy, ignoring the pins in
requirements.txt.

Fix the three failures it surfaced:
- VariableGroup.add_check read `self.__annotations__`, which instances no
  longer inherit on Python 3.14 (PEP 649/749); check dataclass fields.
- Variable.__getitem__ doctest printed np.True_ under NumPy 2; use
  np.array_equal, which returns a Python bool.
- test_custom_implicit assigned a shape-(1,) array to a scalar element,
  which NumPy 2.5 rejects; reduce it with np.sum like the second test op.

Bump the version to 0.1.1 in csdl_alpha/__init__.py and the Conda recipe,
which was still at 0.0.0a2.
@msperryucsd
msperryucsd self-requested a review October 9, 2026 21:57

@msperryucsd msperryucsd left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

looks good

@msperryucsd
msperryucsd merged commit d4bf50e into main Oct 9, 2026
3 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