-
Notifications
You must be signed in to change notification settings - Fork 2.2k
DO NOT MERGE: trying out setuptools PR #3711
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
DO NOT MERGE: trying out setuptools PR #3711
Conversation
ed9fb09
to
89f00f5
Compare
So far:
is missing with the TOML config. |
Thanks @henryiii, I will check! |
Okay, that's weird, a single job has this:
I think it's related to the not-zip-safe issue, at least that's my guess. That's from |
Ok, I tried the following: % PYBIND11_GLOBAL_SDIST=1 .python -m buildls dist
% ls dist
pybind11-2.10.0.dev1.tar.gz pybind11_global-2.10.0.dev1-py3-none-any.whl and I noticed the names of the files produced... The I think this is caused by the fact that PEP 621 requires The % tar tf dist/pybind11-2.10.0.dev1.tar.gz | grep zip
pybind11-2.10.0.dev1/pybind11.egg-info/not-zip-safe |
@henryiii, I think that for |
I added a test case for that in pypa/setuptools@ed73bc5. Let's see what happens with the test suite, but running the tests locally the |
Ah, yes, I wasn't really expecting this to fully work with PEP 621 metadata, I was originally seeing if it would still work with the changes and the old system. The static name is correct. I'd be perfectly fine adding some sort of pre-processing system to make the global SDist. |
These tests were initially motivated by a discussion in: pybind/pybind11#3711 (comment)
These tests were initially motivated by a discussion in: pybind/pybind11#3711 (comment)
These tests were initially motivated by a discussion in: pybind/pybind11#3711 (comment)
74d3caa
to
9d5312f
Compare
These tests were initially motivated by a discussion in: pybind/pybind11#3711 (comment)
It also temporarily renames the project for global builds
The experimental branch in setuptools got updated. It would be nice to see if the checks still pass.
fc3d420
to
7962d22
Compare
for more information, see https://pre-commit.ci
As discussed in https://discuss.python.org/t/help-testing-experimental-features-in-setuptools/13821/59 the handling of `license` has changed to better complain with PEP 621. The changes introduced here reflect that change.
I updated the PR to reflect the changes discussed in https://discuss.python.org/t/help-testing-experimental-features-in-setuptools/13821/59, regarding |
@@ -47,10 +48,6 @@ Chat = "https://gitter.im/pybind/Lobby" | |||
[tool.setuptools] | |||
zip-safe = false | |||
|
|||
[tool.setuptools.dynamic] | |||
license = "BSD" | |||
license-files = ["LICEN[CS]E*", "COPYING*", "NOTICE*", "AUTHORS*"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are the default values already considered by setuptools
and wheel
.
Since it was clarified in the Python discourse that specifying project.license
statically does not impede the backend to dynamically populate License-files
in the core metadata, having a dynamic license
is no longer necessary.
Chat = "https://gitter.im/pybind/Lobby" | ||
|
||
[tool.setuptools] | ||
zip-safe = false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if this option is even necessary nowadays.
According to the docs: it will consider the project unsafe if it contains any C extensions or datafiles whatsoever.
But more importantly... This flag works for eggs right? I believe pip
will always extract the package anyway...
Description
This is based on #3719.
See henryiii#9 too.