Skip to content

Bump marimo-precompute pin to >=0.3.6#9

Merged
mbuze merged 12 commits into
mbuze:mainfrom
jameskermode:bump-precompute-0.3.0
Apr 23, 2026
Merged

Bump marimo-precompute pin to >=0.3.6#9
mbuze merged 12 commits into
mbuze:mainfrom
jameskermode:bump-precompute-0.3.0

Conversation

@jameskermode
Copy link
Copy Markdown
Contributor

@jameskermode jameskermode commented Apr 22, 2026

Summary

  • Bumps the marimo-precompute PEP 723 pin from >=0.2.3 to >=0.3.6 in all four demo notebooks.
  • Fixes the previously-broken WASM demos (demo1_lj_dimer.wasm.html etc.).
  • Adds examples/__marimo__/ to .gitignore.

Why

marimo-precompute 0.3.6 is the first 0.3.x release that actually works against the marimo version Pyodide bundles (0.23.1 via conda-forge). The 0.3.x line replaced the old custom NumpyJsonLoader with a subclass of marimo's new built-in LazyLoader, which took six tries to get right:

  • 0.3.0–0.3.2: hash/format mismatches, silent install failures
  • 0.3.3: LazyLoader.restore_cache spawns threads; Pyodide refuses threading.Thread.start() — override with sequential loader
  • 0.3.4: BLOB_DESERIALIZERS only exists in marimo 0.23.2+ — replace with inline extension dispatch
  • 0.3.5: save_cache ALSO spawns threads — guard with WASM check
  • 0.3.6: Item.type_hint only exists in marimo 0.23.2+ — use getattr(..., None)

Upstream now has an e2e parametrised over marimo versions (0.23.1 and current), so a regression like this class of bug should be caught before release.

No notebook code changes needed — none of the demos pass method= explicitly, and 0.3.6's default ("lazy_precompute") is picked up automatically.

Test plan

  • demo1_lj_dimer.wasm.html verified loading in Chromium against the deployed fork (jameskermode.github.io/LACT), 2 images rendered, 0 tracebacks.
  • CI re-runs the deploy workflow on merge (unpinned pip install . marimo-precompute pulls 0.3.6+).

🤖 Generated with Claude Code

@jameskermode jameskermode marked this pull request as draft April 22, 2026 17:16
@jameskermode
Copy link
Copy Markdown
Contributor Author

Not sure this is quite right yet, hold off merging. Will fix it ASAP.

@jameskermode jameskermode force-pushed the bump-precompute-0.3.0 branch 3 times, most recently from 0e6d06e to 1374fac Compare April 22, 2026 17:58
@jameskermode jameskermode changed the title Bump marimo-precompute pin to >=0.3.0 Bump marimo-precompute pin to >=0.3.4 Apr 22, 2026
@jameskermode jameskermode force-pushed the bump-precompute-0.3.0 branch from 1374fac to b57aaa9 Compare April 22, 2026 18:43
marimo-precompute 0.3.5 is the first 0.3.x release that actually works
under Pyodide. 0.3.0 through 0.3.4 each shipped with at least one WASM
regression (custom loader format changes, threading.Thread refusals in
both restore_cache and save_cache, missing BLOB_DESERIALIZERS import in
marimo 0.23.1) that slipped through an e2e test which pinned to PyPI
instead of testing the local checkout. 0.3.5 includes a new e2e fixture
that builds from wheel and serves locally, so future breakage is caught
in CI.

No notebook code changes needed — none of the demos pass method=
explicitly, and 0.3.5's default ("lazy_precompute") is picked up
automatically. Also gitignore examples/__marimo__/ (local marimo-edit
session artifacts).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@jameskermode jameskermode force-pushed the bump-precompute-0.3.0 branch from b57aaa9 to 993f90f Compare April 22, 2026 18:58
@jameskermode jameskermode changed the title Bump marimo-precompute pin to >=0.3.4 Bump marimo-precompute pin to >=0.3.6 Apr 22, 2026
@jameskermode jameskermode marked this pull request as ready for review April 22, 2026 19:10
@jameskermode
Copy link
Copy Markdown
Contributor Author

Verified working end-to-end against the jameskermode/LACT fork's live deploy — safe to merge.

@mbuze mbuze merged commit 478ee10 into mbuze:main Apr 23, 2026
1 check 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.

3 participants