Skip to content

CI: install with uv; consume jet-array 0.1.0a2 from PyPI - #1

Closed
thisiscam wants to merge 1 commit into
mainfrom
ci-uv-and-jetarray-pypi
Closed

thisiscam wants to merge 1 commit into
mainfrom
ci-uv-and-jetarray-pypi

Conversation

@thisiscam

Copy link
Copy Markdown
Owner

Fixes the tests workflow, which had been failing on every push.

Root causes

  • pip ignores [tool.uv]. The workflow ran pip install -e .[test], so the oryx git source and the tfp-nightly override/constraint never applied → stable tensorflow-probability got pulled → all 13 test files crashed at collection on jax.interpreters.xla.pytype_aval_mappings (removed in jax 0.8).
  • Python 3.10 couldn't install at all, since requires-python = ">=3.11".

Changes

  • test.yml: install via uv sync --extra test --locked + run via uv run, so all [tool.uv] sources/overrides apply. Drop 3.10 from the matrix.
  • pyproject.toml: drop the stale 3.10 classifier; pin jet-array==0.1.0a2 (just published to PyPI with the log-space Taylor expansion, pow_p/scan_p rules, and the log_add NaN-gradient guard) and remove its git source.
  • uv.lock: jet-array now resolves from PyPI.

Verification (local)

  • uv sync --locked resolves cleanly
  • 77 tests collect with no import errors (previously: 13 collection errors)
  • representative subset passes (test_bell_density, test_rosenblatt_correctness: 25 passed)

CI on this PR exercises the new uv-based workflow end to end.

The tests workflow installed with plain pip, which ignores the [tool.uv]
overrides/sources, so it pulled stable tensorflow-probability and crashed
at collection on jax.interpreters.xla.pytype_aval_mappings (and the 3.10
matrix entry couldn't even install, since requires-python is >=3.11).

- test.yml: install via `uv sync --extra test --locked` + `uv run` so the
  oryx git source and the tfp-nightly override/constraint apply; drop 3.10
  from the matrix.
- pyproject: drop the stale 3.10 classifier; pin jet-array==0.1.0a2 (now on
  PyPI with the log-space Taylor expansion, pow_p/scan_p rules, and log_add
  NaN-gradient guard) and remove its git source from [tool.uv.sources].
- uv.lock: jet-array now resolves from the PyPI registry.

Verified locally: `uv sync --locked` clean, 77 tests collect with no import
errors, representative subset passes.
@thisiscam

Copy link
Copy Markdown
Owner Author

Superseded by #5, which is based on current main and consolidates everything from here: the uv CI switch, jet-array 0.1.0a2, plus the deps restructure (pip-git installable), MathJax docs, and the slow/fast test split with the actual @pytest.mark.slow tags.

@thisiscam thisiscam closed this May 24, 2026
@thisiscam
thisiscam deleted the ci-uv-and-jetarray-pypi branch May 24, 2026 20:19
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.

1 participant