QuantEcon / QuantEcon/QuantEcon.py
MAINT: remove the deprecated notebooks utility and its requests dependency (v1.0)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.4k
- Forks
- 2.3k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 3
Description
Problem
requests and urllib3>=2 are still listed in environment.yml, and the notebooks optional-dependency group is still in pyproject.toml. Both exist only to keep the deprecated quantecon/util/notebooks.py working and testable through its final release.
They cannot be removed on their own: the CI test environment is built from environment.yml, and quantecon/util/tests/test_notebooks.py exercises fetch_nb_dependencies over the network while the module still ships. So this is gated on the module removal itself, and the whole set should land together in v1.0.
Background
fetch_nb_dependencies was deprecated in 0.12.0 (#953) after the July 2026 audit established it has no remaining constituency — no usage in any of the lecture repositories, and the callers that exist are dormant notebooks descending from two 2017-era demos. Its default remote, QuantEcon/QuantEcon.notebooks, was last pushed 2023-07-15. Data still required lives in QuantEcon/data-lectures.
Three PRs and one issue were closed on the strength of that decision: #870, #904, #905.
Tasks
- Delete
quantecon/util/notebooks.pyandquantecon/util/tests/test_notebooks.py - Drop
fetch_nb_dependenciesfromquantecon/util/__init__.pyand from the top-levelquantecon/__init__.pyexport list - Delete
docs/source/util/notebooks.rstand its entry indocs/source/util.rst - Remove the
notebooksoptional-dependency group frompyproject.toml - Remove
requestsandurllib3>=2fromenvironment.yml - Check
environment_np2.ymland the conda-forge feedstock for the same entries - Confirm a fresh install and the full suite are green with neither package present
Acceptance criteria
-
grep -rn "requests\|fetch_nb_dependencies" quantecon environment*.yml pyproject.tomlreturns nothing - Full suite green in an environment with neither
requestsnorurllib3installed - Release notes record the removal and the lighter dependency set
Follows #953. Completes #880.
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 quantecon/util/notebooks.py and quantecon/util/tests/test_notebooks.py, then trace the exports in quantecon/util/init.py and quantecon/init.py. Check the listed documentation, environment, pyproject.toml, and conda-forge entries, and run the grep acceptance check plus a fresh install and full suite. Done means the utility, tests, exports, docs, dependency entries, and release notes are removed or updated as specified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, documentation, release, tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100