QuantEcon / QuantEcon/QuantEcon.py

MAINT: Remove dead packaging configuration (MANIFEST.in, stale flit excludes, nose relics)

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

Nobody has claimed this yet.

maintenance
Dominant language
Python
Stars
2.4k
Forks
2.3k
Avg merge
3d 3h
Merged PRs (30d)
3

Description

Problem

Configuration from two build-system migrations ago is still on disk, and it is wrong where it isn't ignored:

  • MANIFEST.in — flit (our build backend) never reads it, and it references LICENSE.txt where the actual file is LICENSE.
  • [tool.flit.sdist] excludes list Makefile and readthedocs.yml, neither of which exists (the real file .readthedocs.yaml is already covered by the .* pattern).
  • .coveragerc still omits */site-packages/nose/* and ordereddict.py; .gitignore still lists *.noseids — nose was retired years ago.

Zero runtime impact; nonzero cost to every contributor reverse-engineering how the package actually builds.

Proposed change

Delete MANIFEST.in; prune the two phantom flit excludes; drop nose-era lines from .coveragerc and .gitignore. Then verify packaging is unchanged: build sdist+wheel before and after, diff the file lists (tar tzf / unzip -l).

Acceptance criteria
  • Artifact file lists identical pre/post — pure dead weight removed
  • grep -ri nose .coveragerc .gitignore empty; no MANIFEST.in

From the July 2026 technical-debt audit (AI-assisted; claims verified against 28d4b3b on 2026-07-25).

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 MANIFEST.in, .coveragerc, .gitignore, and the [tool.flit.sdist] excludes. Build the sdist and wheel before and after the cleanup, then compare file lists with tar tzf and unzip -l; confirm no MANIFEST.in remains and grep -ri nose .coveragerc .gitignore is empty.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
76/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.