-
-
Notifications
You must be signed in to change notification settings - Fork 498
BLD: add pyproject.toml file (PEP 518 support). #321
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
Conversation
Codecov Report
@@ Coverage Diff @@
## master #321 +/- ##
=======================================
Coverage 86.22% 86.22%
=======================================
Files 21 21
Lines 3099 3099
Branches 562 562
=======================================
Hits 2672 2672
Misses 374 374
Partials 53 53 Continue to review full report at Codecov.
|
Okay not WIP anymore, debate seems about settled. Rationale for the choice for Python 3.7 is at pypa/pip#4582 (comment) |
I have no prior experience with PEP 518. Is Cython not here because the generated .c files are already included in the source distribution on PyPI? If someone checks out the github source, though, the .c files are not included and Cython would required as well. |
Correct (plus, see below)
I'm not a fan of treating Cython like a Python package. It's a compiler, and it's only coincidental that |
I take it you would be against this suggestion over at pyFFTW/pyFFTW#31 to remove the cython-generated .c file from source distributions then?. I see that the Cython docs do suggest including the .c code as we have done in PyWavelets and PyFFTW: http://cython.readthedocs.io/en/latest/src/reference/compilation.html#distributing-cython-modules. |
I think those comments on the pyFFTW issue are correct in principle but not in practice. This was also discussed a week or so ago on distutils-sig, and one of the points made there was that distributors should anyway not start from a PyPI tarball but from the git tag for the release. Maybe in a few years this'll change, but I think it's fundamentally about removing a build dependency and avoiding issues with different versions of Cython, at almost no cost (a couple of Mb larger downloads isn't a big deal). |
Sounds reasonable. Thanks for the feedback. |
Updated for final format. @grlee77 any objections to merging this once TravisCI is happy? |
Looks good. Thanks |
Hi @rgommers , one other question related to the implications of this PR: I see in this comment a recommendation to update the It seems that the versions chosen here tend to be the oldest ones for which NumPy wheels exist for a given Python version, so I think if a user pip installs everything they would not encounter issues. (I am currently trying to sort this out for pyFFTW too in pyFFTW/pyFFTW#204) |
Yes, the correct version specifier should be |
WIP because the debate is not completely finalized (pypa/pip#4582). But wanted to get this in to not forget before the next release.
EDIT: not WIP anymore as commented on in a comment below.
Closes gh-335