Repository navigation
build: raise the setuptools floor to 69.0.0 so wheels ship py.typed (#2062) - #2064
Conversation
…2062) A wheel built at the old floor, 62.3.0, without build isolation left out pcapkit/py.typed: nothing declares it, and setuptools packages it unasked only from 69.0.0 (pypa/setuptools#3136). Per the owner's ruling, bump the floor rather than add a package-data entry. - pyproject.toml: [build-system] requires "setuptools>=69.0.0"; the comment gives the reason and keeps #1814's "**" glob rationale. - conda/pypcapkit/meta.yaml: build and host pins match. - tests/project/test_setuptools_floor_2062.py pins the floor at or above 69.0.0 and the conda pins to it; fails on main. - 1.5.0 changelog entry; CHANGELOG.md regenerated. Wheels measured on 3.8 and 3.14 at 69.0.0 ship py.typed, file list identical to 84.2.1's. Related project tests pass, run one by one.
49e39e9 to
24f9dd7
Compare
|
GOOD TO GO at |
|
GOOD TO GO still holds at |
|
Coverage: 91.52% (unit tier, Python 3.15,
Per-file detail: the |
|
Ready to merge at |
make pylint,make mypy,make isort)make testpasses, and a test case covers the changeWhat is the purpose of your pull request?
fix— corrects a defectDescription of your pull request and other information
Closes #2062. Following the owner's ruling, this raises the setuptools floor rather than declaring
py.typed.pcapkit/py.typed.MANIFEST.inincludes only*.py, and[tool.setuptools.package-data]covers onlypcapkit._extern. So it ships only when setuptools adds type files itself, which 69.0.0 started doing: "Include type information (py.typed,*.pyi) by default (#3136)".--no-build-isolationlackpy.typedon 62.3.0, 65.0.0 and 68.2.2, and include it on 69.0.0 and 75.3.4. 68.2.2 and 69.0.0 are consecutive releases.[build-system] requiresbecomessetuptools>=69.0.0, and the conda build and host pins inconda/pypcapkit/meta.yamlmatch. 69.0.0 declaresrequires_python >=3.8. The fix(conda): vendored dependencies ship without their data files #1814 reason for the old floor,**globs, still holds.py.typed.py.typed.py.typed, it matchesmain's.tests/project/test_setuptools_floor_2062.pypins the>=69.0.0floor, the matching conda pins, and the presence ofpcapkit/py.typed. It fails onmainwith(62, 3, 0) not >= (69, 0, 0). The changelog tests pass, andCHANGELOG.mdis regenerated.