• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

sm00thix / ikpls / 28470969820
94%

Build:
DEFAULT BRANCH: main
Ran 30 Jun 2026 08:02PM UTC
Jobs 8
Files 9
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

30 Jun 2026 07:38PM UTC coverage: 93.529% (+0.3%) from 93.239%
28470969820

push

github

web-flow
IKPLS 5.0.0 — JAX fast cross-validation, vmap, and uv migration (breaking) (#46)

* Add JAX fast cross-validation and vmap CV; remove differentiable flag (5.0.0)

BREAKING: Remove the `differentiable` constructor parameter from the JAX PLS classes
(jax_ikpls_alg_1.PLS, jax_ikpls_alg_2.PLS, jax_ikpls_base.PLSBase). The lax.scan fit
and the fixed-size masked-matmul deflation make the JAX implementations end-to-end
reverse-mode differentiable by construction, so the separate non-differentiable code
path is gone and the flag is obsolete. Direct fits still emit the "weight close to
zero" underflow warning and set max_stable_components; the vmapped cross_validate and
JAX fast cross-validation paths do not (the ordered io_callback is incompatible with
jax.vmap). Code that passed `differentiable=...` must drop the argument.

Added:
- ikpls.fast_cross_validation.jax_ikpls.PLS: a GPU/TPU-friendly fast cross-validation
  that computes per-fold training matrices by rank-update via the cvmatrix JAX backend
  and batches folds with jax.vmap (batch_size knob). Supports Improved Kernel PLS
  Algorithm #1 and #2. Requires ikpls[jax] and cvmatrix>=3.2.0.

Changed:
- The JAX fit iterates components with jax.lax.scan instead of an unrolled Python loop,
  making the traced graph O(1) in the number of components (much faster cold compile at
  large component counts; warm execution and numerical results unchanged).
- The JAX cross_validate batches folds with jax.vmap (new batch_size argument to bound
  memory) instead of looping over folds in Python.
- Extracted the shared Improved Kernel PLS inner loop into ikpls/_pls_steps.py, used by
  both the numpy fit and the numpy fast cross-validation.
- Migrated build and development tooling from Poetry to uv (PEP 621 [project] +
  hatchling build backend + PEP 735 dependency-groups; poetry.lock replaced by
  uv.lock). The jax extra now requires cvmatrix>=3.2.0.
- CI: Coveralls upload steps are non-fatal (fail-on-error: false) and ... (continued)

1084 of 1159 relevant lines covered (93.53%)

7.48 hits per line

Coverage Regressions

Lines Coverage ∆ File
28
89.82
-1.51% numpy_ikpls.py
23
92.91
0.02% jax_ikpls_base.py
6
93.55
-1.35% jax_ikpls_alg_1.py
5
93.59
-0.31% jax_ikpls_alg_2.py
2
71.43
-28.57% fast_cross_validation/__init__.py
2
98.04
1.84% fast_cross_validation/numpy_ikpls.py
2
75.0
-25.0% __init__.py
Jobs
ID Job ID Ran Files Coverage
1 windows-latest-python-3.14-jax - 28470969820.1 30 Jun 2026 08:10PM UTC 9
93.53
GitHub Action Run
2 windows-latest-python-3.13-jax - 28470969820.2 30 Jun 2026 08:16PM UTC 9
93.53
GitHub Action Run
3 ubuntu-latest-python-3.14-jax - 28470969820.3 30 Jun 2026 08:02PM UTC 9
93.53
GitHub Action Run
4 ubuntu-latest-python-3.11-jax - 28470969820.4 30 Jun 2026 08:17PM UTC 9
93.53
GitHub Action Run
5 windows-latest-python-3.11-jax - 28470969820.5 30 Jun 2026 08:27PM UTC 9
93.53
GitHub Action Run
6 ubuntu-latest-python-3.12-jax - 28470969820.6 30 Jun 2026 08:10PM UTC 9
93.53
GitHub Action Run
7 windows-latest-python-3.12-jax - 28470969820.7 30 Jun 2026 08:19PM UTC 9
93.53
GitHub Action Run
8 ubuntu-latest-python-3.13-jax - 28470969820.8 30 Jun 2026 08:11PM UTC 9
93.53
GitHub Action Run
Source Files on build 28470969820
  • Tree
  • List 9
  • Changed 6
  • Source Changed 0
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28470969820
  • 1f79c079 on github
  • Prev Build on main (#21570824530)
  • Next Build on main (#28707813976)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc