QuantEcon / QuantEcon/QuantEcon.py

MAINT: remove the deprecated notebooks utility and its requests dependency (v1.0)

Open
#954 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dependencies maintenance
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.py and quantecon/util/tests/test_notebooks.py
  • Drop fetch_nb_dependencies from quantecon/util/__init__.py and from the top-level quantecon/__init__.py export list
  • Delete docs/source/util/notebooks.rst and its entry in docs/source/util.rst
  • Remove the notebooks optional-dependency group from pyproject.toml
  • Remove requests and urllib3>=2 from environment.yml
  • Check environment_np2.yml and 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.toml returns nothing
  • Full suite green in an environment with neither requests nor urllib3 installed
  • Release notes record the removal and the lighter dependency set

Follows #953. Completes #880.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.