Skip to content
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

Support PEP 517/518 #503

Open
SnoopJ opened this issue Dec 7, 2022 · 0 comments
Open

Support PEP 517/518 #503

SnoopJ opened this issue Dec 7, 2022 · 0 comments

Comments

@SnoopJ
Copy link
Contributor

SnoopJ commented Dec 7, 2022

Is your feature request related to a problem? Please describe.
Not directly, but I am filing this issue after a short chat on the Boston Python Slack about how to update one of the project's dependencies.

Describe the solution you'd like
To satisfy this request, scalene should support build systems that follow PEP 517, which mostly comes down to following PEP 518 by introducing a pyproject.toml file to the project's source tree.

The biggest advantage of this approach is that build-time dependencies (namely Cython and possibly crdp as well) can be declared as such in the modern style, so end-user installation should be slightly smoother.

Describe alternatives you've considered
N/A

Additional context
I sat down for an hour or so tonight and saw how much of the project's setup.py could be migrated to a pyproject.toml. The biggest snag I ran into was the DEV_BUILD functionality that appends a .devN suffix to builds. And of course all the dynamic stuff related to available compilers and extension modules still needs to be expressed in setup.py

The upshot here is that it's pretty easy to start small with a pyproject.toml, it is not a wholesale replacement for setup.py (or its declarative counterpart setup.cfg), as described in the setuptools documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant