QuantEcon / QuantEcon/QuantEcon.py
FIX: Correct install metadata: requires-python, dependency floors, classifiers
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.4k
- Forks
- 2.3k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 3
Description
Problem
pyproject.toml contradicts itself and reality:
requires-python = ">=3.7"— Python 3.7 has been EOL since June 2023, and 3.8–3.11 are neither in CI nor in the classifiers, which list exactly 3.12 / 3.13 / 3.14.- Floors
numpy>=1.17.0(2019),numba>=0.49.0(2020),scipy>=1.5.0(2020) permit pip to build environments untested for years — while the code has moved on (util/compat.pyexists for NumPy≥2 semantics;_dle.pycarries a NumPy 2.4 workaround). The floors are also internally inconsistent with the classifiers: numba 0.49 cannot run on any Python version the classifiers name (the first numba supporting 3.12 is 0.59).
Net effect: pip install quantecon succeeds on configurations we do not support, and failure surfaces later as user bug reports. Wrong metadata is a shipped defect.
Proposed change
- Set
requires-python = ">=3.12"to match CI and classifiers (or extend CI first if broader support is intended — either way, make the three agree). - Raise floors to the oldest combination actually exercised, e.g. the versions resolved by
environment.ymlon the oldest supported Python. - While in the file: decide
Development Status :: 4 - Beta(12+ years in;5 - Production/Stablelikely reflects reality) — one-line change, same edit. - Add a release-checklist line: metadata review on every Python-version or floor change.
Acceptance criteria
-
requires-python, classifiers, and the CI matrix name the same version set -
pip installon a now-unsupported Python is refused by the resolver (users there keep resolving to older quantecon releases — the correct outcome) - Floors verified by at least one CI leg or a documented local run
From the July 2026 technical-debt audit (AI-assisted; claims verified against 28d4b3b on 2026-07-25).
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 by comparing pyproject.toml with the CI matrix and environment.yml, then locate the release checklist mentioned in the issue. Verify the supported Python versions and dependency floors against the named classifiers and CI coverage, and confirm that pip rejects unsupported Python versions. Done means the metadata, CI, dependency floors, status, and checklist agree, with the floors verified by CI or a documented local run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, ci-cd, release
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100