You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are three overlapping dependency manifests that disagree on the details, and only one of them is actually used. This makes it easy for deps to rot and — more importantly — means a local setup that follows the README can't run the JAX lectures.
grep confirms nothing in .github/, scripts/, or README.md references either requirements*.txt. CI builds the env from environment.yml, then installs JAX out of band via pip install -U jax (ci.yml, publish.yml).
Problems
No single source of truth — three files, two of them orphaned and liable to rot.
Redundancy via the anaconda metapackage — anaconda already bundles numpy, matplotlib, and numba, so the explicit lines in the requirements files duplicate it.
Likely channel typo — environment.yml declares channels: - default (singular); the canonical conda channel is defaults, which the other QuantEcon lecture repos use.
Suggested direction
Pick one source of truth. Two QuantEcon-friendly shapes:
Conda-first (matches CI): add jax to environment.yml, drop the unused numba, fix defaults, and delete both requirements*.txt. The separate CI pip install -U jax could then go away.
Keep a minimal requirements.txt for the Colab / "just run the notebooks" path (matplotlib, numpy, jax), referenced from notebooks/README.md, and make environment.yml the single build source of truth (remove requirements-build.txt).
Either way: one runtime manifest + at most one build manifest, JAX listed where the README points, and the channel name corrected.
Summary
There are three overlapping dependency manifests that disagree on the details, and only one of them is actually used. This makes it easy for deps to rot and — more importantly — means a local setup that follows the README can't run the JAX lectures.
The three files
environment.ymlpython=3.13+anacondametapackage + pip: jupyter-book & sphinx stackenvironment-file: environment.yml)requirements.txtmatplotlib, numpy, jax, numbarequirements-build.txtmatplotlib, numpy, jax, numba+ jupyter-book & sphinx stackgrepconfirms nothing in.github/,scripts/, orREADME.mdreferences eitherrequirements*.txt. CI builds the env fromenvironment.yml, then installs JAX out of band viapip install -U jax(ci.yml,publish.yml).Problems
anacondametapackage —anacondaalready bundlesnumpy,matplotlib, andnumba, so the explicit lines in the requirements files duplicate it.numbais listed everywhere but unused (viaanaconda+ both requirements files) — see Numba is advertised but never used (no Numba lecture/code) #2 (Numba advertised but unused).environment.ymldeclareschannels: - default(singular); the canonical conda channel isdefaults, which the other QuantEcon lecture repos use.Suggested direction
Pick one source of truth. Two QuantEcon-friendly shapes:
jaxtoenvironment.yml, drop the unusednumba, fixdefaults, and delete bothrequirements*.txt. The separate CIpip install -U jaxcould then go away.requirements.txtfor the Colab / "just run the notebooks" path (matplotlib, numpy, jax), referenced fromnotebooks/README.md, and makeenvironment.ymlthe single build source of truth (removerequirements-build.txt).Either way: one runtime manifest + at most one build manifest, JAX listed where the README points, and the channel name corrected.
Open question before any consolidation
Related: #2 (numba unused), #5 (GPU runner / RunsOn).