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

Add PEP 517 support (closes #503) #511

Merged

Conversation

SnoopJ
Copy link
Contributor

@SnoopJ SnoopJ commented Dec 10, 2022

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 bring scalene 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 like Cython or wheel in order to build the project. I think this means requirements.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.

  • Test build/install on Linux
    • I can install (with pip install .) and build (with make bdist and make sdist) with a fresh 3.8.12 venv on Ubuntu 20.04.3
    • I also checked that DEV_BUILD is respected when performing a build, adding a .devN tag to the resulting package version
  • Test build/install on MacOS
    • The MacOS smoketests passed, so pip 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)
  • Test build/install on Windows
    • I was able to pip install the repository on Windows 10 in a fresh Python 3.8.10 environment, but the Makefile-driven workflow should be checked too

pyproject.toml Outdated Show resolved Hide resolved
pyproject.toml Show resolved Hide resolved
pyproject.toml Outdated Show resolved Hide resolved
@jaltmayerpizzorno jaltmayerpizzorno changed the base branch from master to pep_517 December 15, 2022 15:07
@jaltmayerpizzorno
Copy link
Collaborator

@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.

@SnoopJ
Copy link
Contributor Author

SnoopJ commented Dec 15, 2022

@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 <snoop.jedi@gmail.com>
@jaltmayerpizzorno
Copy link
Collaborator

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).

@jaltmayerpizzorno jaltmayerpizzorno merged commit 45e5c42 into plasma-umass:pep_517 Apr 3, 2023
@SnoopJ SnoopJ deleted the feature/gh-503_pep517-support branch April 3, 2023 14:46
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

Successfully merging this pull request may close these issues.

None yet

2 participants