QuantEcon / QuantEcon/scipy_tutorial_2026
Consolidate dependency files (environment.yml vs requirements.txt vs requirements-build.txt)
Nobody has claimed this yet.
- Dominant language
- Jupyter Notebook
- Stars
- 3
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
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
| File | Contents | Used by? |
|---|---|---|
environment.yml |
python=3.13 + anaconda metapackage + pip: jupyter-book & sphinx stack |
✅ the only one CI uses (environment-file: environment.yml) |
requirements.txt |
matplotlib, numpy, jax, numba |
❌ referenced nowhere |
requirements-build.txt |
matplotlib, numpy, jax, numba + jupyter-book & sphinx stack |
❌ referenced nowhere |
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
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 #2 (Numba advertised but unused).- Likely channel typo —
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:
- Conda-first (matches CI): add
jaxtoenvironment.yml, drop the unusednumba, fixdefaults, and delete bothrequirements*.txt. The separate CIpip install -U jaxcould then go away. - Keep a minimal
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).
Contributor guide
No contributing guide indexed for this repository
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 by comparing environment.yml, requirements.txt, and requirements-build.txt with the CI references in .github/ci.yml and publish.yml, then check README.md and notebooks/README.md. Review related issues #2 and #5 before choosing a consolidation shape. Done means the selected manifests are the only maintained dependency sources, JAX is listed where the setup instructions point, and CI no longer relies on redundant installation steps.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- anaconda, jupyter-notebook, python
- Domain
- build-system, ci-cd
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100