Opened 4 weeks ago
Last modified 2 days ago
#36740 assigned Cleanup/optimization
Replace MANIFEST.in with setuptools configuration via pyproject.toml
| Reported by: | Pravin | Owned by: | Pravin |
|---|---|---|---|
| Component: | Packaging | Version: | dev |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Accepted | |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
Since now django uses pyproject.toml we can safely remove the MANIFEST.in file.
pyproject.toml will do that for us.
Change History (14)
comment:1 by , 4 weeks ago
| Owner: | set to |
|---|---|
| Status: | new → assigned |
follow-up: 4 comment:2 by , 4 weeks ago
| Summary: | No need of MANIFEST.in since pyproject.toml can handle it. → Replace MANIFEST.in with setuptools configuration via pyproject.toml |
|---|---|
| Triage Stage: | Unreviewed → Accepted |
| Version: | 5.2 → dev |
comment:4 by , 4 weeks ago
Replying to Jacob Walls:
Tentatively accepting.
Please focus first on producing a build that differs in no way from our existing manifest. Please include a before and after manifest of the packaged files with the PR. Then in subsequent commits we can make tweaks, e.g. to remove the scripts directory, see forum.
Before raising PR I want to notify you something:
- Currently what i have noticed that we can't remove the non-package folders (like tests, js_tests, extras, scripts) from MANIFEST.in . They are removable if we include them under data-files table in pyproject.toml. but they don't recursively add subfolders inside them. for example. in case of tests , even if i mentioned tests/**/* , the subfolder like _ext, _theme were not able to get copied. so instead of simplifying it was getting complex since i had to include subfolders explicitly.
- I cleanup the manifest file which reduced the redundant things.
- i have tested the original and modified build and there is no differs.
- final MANIFEST.in looks like this
-
graft tests graft docs graft js_tests graft extras graft scripts global-exclude *.py[co]
So what's your take on this ? Should I proceed further in submitting the request ?
comment:5 by , 4 weeks ago
the subfolder like _ext, _theme were not able to get copied.
We could try to debug this if you put up a PR, as at first impression I'm surprised by that.
comment:8 by , 4 weeks ago
[tool.setuptools.data-files] "." = [ "*.rst", "Gruntfile.js", "INSTALL", "package.json", "tox.ini", "tests/**/*", "docs/**/*", "js_tests/**/*", "extras/**/*", "scripts/**/*", ]
in this scenario this it won't copy recursively. I got error: can't copy 'tests/absolute_url_overrides': doesn't exist or not a regular file. My assumption here is it search for specific files only not folders and their content. https://setuptools.pypa.io/en/latest/userguide/datafiles.html
the build is not produced.
comment:9 by , 4 weeks ago
| Patch needs improvement: | set |
|---|
comment:10 by , 6 days ago
| Patch needs improvement: | unset |
|---|
comment:11 by , 4 days ago
| Patch needs improvement: | set |
|---|
comment:12 by , 3 days ago
| Patch needs improvement: | unset |
|---|
comment:13 by , 3 days ago
| Patch needs improvement: | set |
|---|
comment:14 by , 2 days ago
| Patch needs improvement: | unset |
|---|
Tentatively accepting.
Please focus first on producing a build that differs in no way from our existing manifest. Please include a before and after manifest of the packaged files with the PR. Then in subsequent commits we can make tweaks, e.g. to remove the scripts directory, see forum.