-
-
Notifications
You must be signed in to change notification settings - Fork 402
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
Add PEP 517 support (closes #503) #511
Add PEP 517 support (closes #503) #511
Conversation
Calling setup.py directly is [considered deprecated](https://setuptools.pypa.io/en/latest/deprecated/commands.html#running-setuptools-commands)
@SnoopJ I've re-targeted the PR to a branch I just opened for this (pep_517, original, right?). I'll work on it more in a few. |
Sounds good, let me know if you have any questions or requests 😁 |
Apparently unnecessary dependencies. It seems best to remove and re-add if needed. Co-authored-by: James Gerity <[email protected]>
I'm going on a short trip, so it seems best to postpone working on this until I'm back (in the 2nd week of January). |
NOTE: This changeset should be merged with care because of the changes it makes to
scalene
's build workflows. At a minimum it should be tested on MacOS and Windows before merging!This PR introduces a
pyproject.toml
to bringscalene
into the world of PEP 517/518.setuptools
still does most of the lifting, but most of the configuration is now declared in this more modern file. One big advantage of this change is that build-time dependencies are clearly separated from runtime dependencies, so end-users should not need to worry about installing packages likeCython
orwheel
in order to build the project. I think this meansrequirements.txt
can be removed from the project, as it is no longer necessary in the GitHub workflow that depends on it, but I would appreciate maintainer insight on this.Pre-merge checklist
This checklist may be incomplete, please add to it if anything is missing.
pip install .
) and build (withmake bdist
andmake sdist
) with a fresh 3.8.12 venv on Ubuntu 20.04.3DEV_BUILD
is respected when performing a build, adding a.devN
tag to the resulting package versionsmoketests
passed, sopip install
looks good. It would be a good idea to check the Makefile-driven workflow too (unfortunately, I don't have a Mac to test with)pip install
the repository on Windows 10 in a fresh Python 3.8.10 environment, but the Makefile-driven workflow should be checked too