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 Pravin, 4 weeks ago

Owner: set to Pravin
Status: newassigned

comment:2 by Jacob Walls, 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: UnreviewedAccepted
Version: 5.2dev

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.

comment:3 by Pravin, 4 weeks ago

Thanks i will do that

in reply to:  2 comment:4 by Pravin, 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 Jacob Walls, 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:6 by Pravin, 4 weeks ago

I have submitted the PR

comment:7 by Jacob Walls, 4 weeks ago

Has patch: set

comment:8 by Pravin, 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 Mariusz Felisiak, 4 weeks ago

Patch needs improvement: set

comment:10 by Pravin, 6 days ago

Patch needs improvement: unset

comment:11 by Jacob Walls, 4 days ago

Patch needs improvement: set

comment:12 by Pravin, 3 days ago

Patch needs improvement: unset

comment:13 by Jacob Walls, 3 days ago

Patch needs improvement: set

comment:14 by Pravin, 2 days ago

Patch needs improvement: unset
Note: See TracTickets for help on using tickets.
Back to Top