Skip to content

Commit 3cfc8de

Browse files
authored
build: limit sdist contents to source and metadata files (#892)
## Summary Mirrors apify/crawlee-python#1890. The latest crawlee-python beta release failed when uploading the sdist: ``` 400 Bad Request — Project size too large. Limit for project 'crawlee' total size is 10 GB. ``` `pyproject.toml` only configured the wheel target, so hatchling's default sdist bundled the entire repo. Each released sdist was much larger than the actual source. Combined with the fact that a beta release is published on every src-touching commit to master, the cumulative storage quota on PyPI hit the cap fast. This PR applies the same fix here: an explicit `[tool.hatch.build.targets.sdist]` that ships only `src/apify` and standard metadata files (`CHANGELOG.md`, `CONTRIBUTING.md`, `LICENSE`, `README.md`, `pyproject.toml`). Verified locally: built sdist is ~96 KB and contains only those files. Tests are intentionally excluded — they need dev-only deps that aren't installable from a plain sdist anyway. ## Note PyPI's cap is cumulative across all uploaded files, so the eventual mitigation requires a [project size limit increase](https://docs.pypi.org/project-management/storage-limits#requesting-a-project-size-limit-increase) once a project hits its quota. This PR just keeps future releases from chewing through quota.
1 parent 1e04431 commit 3cfc8de

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

pyproject.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,16 @@ dev = [
9393
[tool.hatch.build.targets.wheel]
9494
packages = ["src/apify"]
9595

96+
[tool.hatch.build.targets.sdist]
97+
only-include = [
98+
"src/apify",
99+
"CHANGELOG.md",
100+
"CONTRIBUTING.md",
101+
"LICENSE",
102+
"README.md",
103+
"pyproject.toml",
104+
]
105+
96106
[tool.hatch.metadata]
97107
allow-direct-references = true
98108

0 commit comments

Comments
 (0)