QuantEcon / QuantEcon/QuantEcon.py
WASM: demo notebook and ecosystem coordination with QuantStack
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.4k
- Forks
- 2.3k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 3
Description
[!NOTE]
Updated 2026-08-21. The second item said quantecon was already on emscripten-forge; it is not (no recipe exists — that is #932) and it reaches the browser from conda-forge noarch. Added prerequisites and the code paths a demo notebook must avoid for now, based on the Phase 0/1 findings recorded in #927 and #944. The original text is preserved in the edit history.
Part of #925 (Phase 4 — ecosystem, ongoing).
The announcement closes with an explicit invitation to "validate more packages from the wider Numba ecosystem", and it already demos EconForge's stack (interpolation.py, Dolo.py). Answering that invitation is cheap and high-signal.
Prerequisites
- The #928 results table — the smoke suite from #938 is on main and the browser runner is tracked in #933; its results are the evidence base for what a demo can show
- A release containing the
gini_coefficientrewrite in PR #937 (#926), so the demo runs against a published version rather than main - For live
%mamba install quanteconinside the notebook: the emscripten-forge recipe, #932. Not a hard blocker — quantecon (andrequests) already install at build time from conda-forge noarch alongside the emscripten-forge-4x channel, as in #928's environment
Paths the demo must avoid for now
gini_coefficientuntil a release containing PR #937 ships — on main it still uses@njit(parallel=True)(#926), which runs on Emscripten only via the temporary numba patch 0010 (emscripten-forge/recipes#6293)- Any jitted generator:
support_enumerationandvertex_enumerationhang on Emscripten (#927) — uselemke_howsonfor the game-theory example simplex_grid,num_compositions_jitandk_array_rank_jit—cache=Truecache-save failure on warm sessions (#944; upstream emscripten-forge/recipes#6309)
Items
- A QuantEcon demo notebook on notebook.link (Markov chains, LQ control, a game-theory solve via
lemke_howson) alongside the existing@anutosh491/numba-ecosystemdemos; coordinate with QuantStack - Longer term: QuantEcon lectures that execute without Binder or a kernel server — the rest of the lecture stack (numpy, scipy, matplotlib, pandas, numba) is on emscripten-forge; quantecon (and
requests) currently resolve from conda-forge noarch alongside it (see #928) until the emscripten-forge recipe in #932 lands - Performance exploration: the emscripten-forge recipe tests show
@njit(fastmath=True)autovectorises to WASM SIMD (f32x4+simd128) — a possible pass over hot kernels, with the usual fastmath reproducibility caveats
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the #928 results table and #933 browser runner, then check the release containing PR #937 and the listed Emscripten limitations. Coordinate with QuantStack on a notebook.link demo covering Markov chains, LQ control, and a game-theory solve via lemke_howson; done means the demo runs in the browser while avoiding the specified paths.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter-notebook, python, wasm
- Domain
- developer-experience, documentation, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100