Re: [Django] #36740: Replace MANIFEST.in with setuptools configuration via pyproject.toml

9 views
Skip to first unread message

Django

unread,
Nov 19, 2025, 12:49:06 AMNov 19
to django-...@googlegroups.com
#36740: Replace MANIFEST.in with setuptools configuration via pyproject.toml
--------------------------------------+------------------------------------
Reporter: Pravin | Owner: Pravin
Type: Cleanup/optimization | Status: assigned
Component: Packaging | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
--------------------------------------+------------------------------------
Comment (by Pravin):

Thanks i will do that
--
Ticket URL: <https://code.djangoproject.com/ticket/36740#comment:3>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Nov 19, 2025, 5:30:19 AMNov 19
to django-...@googlegroups.com
#36740: Replace MANIFEST.in with setuptools configuration via pyproject.toml
--------------------------------------+------------------------------------
Reporter: Pravin | Owner: Pravin
Type: Cleanup/optimization | Status: assigned
Component: Packaging | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
--------------------------------------+------------------------------------
Comment (by Pravin):

Replying to [comment:2 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
[https://forum.djangoproject.com/t/avoid-packaging-scripts-folder/43296
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 ?
--
Ticket URL: <https://code.djangoproject.com/ticket/36740#comment:4>

Django

unread,
Nov 19, 2025, 9:00:11 AMNov 19
to django-...@googlegroups.com
#36740: Replace MANIFEST.in with setuptools configuration via pyproject.toml
--------------------------------------+------------------------------------
Reporter: Pravin | Owner: Pravin
Type: Cleanup/optimization | Status: assigned
Component: Packaging | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
--------------------------------------+------------------------------------
Comment (by Jacob Walls):

> 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.
--
Ticket URL: <https://code.djangoproject.com/ticket/36740#comment:5>

Django

unread,
Nov 19, 2025, 9:24:54 AMNov 19
to django-...@googlegroups.com
#36740: Replace MANIFEST.in with setuptools configuration via pyproject.toml
--------------------------------------+------------------------------------
Reporter: Pravin | Owner: Pravin
Type: Cleanup/optimization | Status: assigned
Component: Packaging | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
--------------------------------------+------------------------------------
Comment (by Pravin):

I have submitted the PR
--
Ticket URL: <https://code.djangoproject.com/ticket/36740#comment:6>

Django

unread,
Nov 19, 2025, 9:33:53 AMNov 19
to django-...@googlegroups.com
#36740: Replace MANIFEST.in with setuptools configuration via pyproject.toml
--------------------------------------+------------------------------------
Reporter: Pravin | Owner: Pravin
Type: Cleanup/optimization | Status: assigned
Component: Packaging | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
--------------------------------------+------------------------------------
Changes (by Jacob Walls):

* has_patch: 0 => 1

Comment:

[https://github.com/django/django/pull/20270 PR]
--
Ticket URL: <https://code.djangoproject.com/ticket/36740#comment:7>

Django

unread,
Nov 19, 2025, 10:58:48 AMNov 19
to django-...@googlegroups.com
#36740: Replace MANIFEST.in with setuptools configuration via pyproject.toml
--------------------------------------+------------------------------------
Reporter: Pravin | Owner: Pravin
Type: Cleanup/optimization | Status: assigned
Component: Packaging | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
--------------------------------------+------------------------------------
Comment (by Pravin):

{{{
[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.
--
Ticket URL: <https://code.djangoproject.com/ticket/36740#comment:8>

Django

unread,
Nov 19, 2025, 1:07:41 PMNov 19
to django-...@googlegroups.com
#36740: Replace MANIFEST.in with setuptools configuration via pyproject.toml
--------------------------------------+------------------------------------
Reporter: Pravin | Owner: Pravin
Type: Cleanup/optimization | Status: assigned
Component: Packaging | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
--------------------------------------+------------------------------------
Changes (by Mariusz Felisiak):

* needs_better_patch: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/36740#comment:9>

Django

unread,
Dec 9, 2025, 2:36:35 AM (7 days ago) Dec 9
to django-...@googlegroups.com
#36740: Replace MANIFEST.in with setuptools configuration via pyproject.toml
--------------------------------------+------------------------------------
Reporter: Pravin | Owner: Pravin
Type: Cleanup/optimization | Status: assigned
Component: Packaging | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
--------------------------------------+------------------------------------
Changes (by Pravin):

* needs_better_patch: 1 => 0

--
Ticket URL: <https://code.djangoproject.com/ticket/36740#comment:10>

Django

unread,
Dec 11, 2025, 5:45:26 PM (5 days ago) Dec 11
to django-...@googlegroups.com
#36740: Replace MANIFEST.in with setuptools configuration via pyproject.toml
--------------------------------------+------------------------------------
Reporter: Pravin | Owner: Pravin
Type: Cleanup/optimization | Status: assigned
Component: Packaging | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
--------------------------------------+------------------------------------
Changes (by Jacob Walls):

* needs_better_patch: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/36740#comment:11>

Django

unread,
Dec 12, 2025, 3:17:10 AM (4 days ago) Dec 12
to django-...@googlegroups.com
#36740: Replace MANIFEST.in with setuptools configuration via pyproject.toml
--------------------------------------+------------------------------------
Reporter: Pravin | Owner: Pravin
Type: Cleanup/optimization | Status: assigned
Component: Packaging | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
--------------------------------------+------------------------------------
Changes (by Pravin):

* needs_better_patch: 1 => 0

--
Ticket URL: <https://code.djangoproject.com/ticket/36740#comment:12>

Django

unread,
Dec 12, 2025, 9:30:31 AM (4 days ago) Dec 12
to django-...@googlegroups.com
#36740: Replace MANIFEST.in with setuptools configuration via pyproject.toml
--------------------------------------+------------------------------------
Reporter: Pravin | Owner: Pravin
Type: Cleanup/optimization | Status: assigned
Component: Packaging | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
--------------------------------------+------------------------------------
Changes (by Jacob Walls):

* needs_better_patch: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/36740#comment:13>

Django

unread,
Dec 13, 2025, 2:18:50 AM (4 days ago) Dec 13
to django-...@googlegroups.com
#36740: Replace MANIFEST.in with setuptools configuration via pyproject.toml
--------------------------------------+------------------------------------
Reporter: Pravin | Owner: Pravin
Type: Cleanup/optimization | Status: assigned
Component: Packaging | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
--------------------------------------+------------------------------------
Changes (by Pravin):

* needs_better_patch: 1 => 0

--
Ticket URL: <https://code.djangoproject.com/ticket/36740#comment:14>

Django

unread,
Dec 15, 2025, 3:29:51 PM (23 hours ago) Dec 15
to django-...@googlegroups.com
#36740: Replace MANIFEST.in with setuptools configuration via pyproject.toml
--------------------------------------+------------------------------------
Reporter: Pravin | Owner: Pravin
Type: Cleanup/optimization | Status: assigned
Component: Packaging | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
--------------------------------------+------------------------------------
Changes (by Jacob Walls):

* needs_better_patch: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/36740#comment:15>
Reply all
Reply to author
Forward
0 new messages