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

Build/package The Walrus using PEP 517/518 #192

Open
josh146 opened this issue Aug 21, 2020 · 2 comments
Open

Build/package The Walrus using PEP 517/518 #192

josh146 opened this issue Aug 21, 2020 · 2 comments
Labels
dependencies Pull requests that update a dependency file python

Comments

@josh146
Copy link
Member

josh146 commented Aug 21, 2020

PEP 517 and PEP 518 introduced a new paradigm for building/packaging Python projects.

  • Configuring requirements and build settings is now done via a top-level pyproject.toml configuration file

  • The build system (e.g., setuptools, Poetry) is independent of project requirements and build settings, allowing the build system to be switched out independently.

  • The interim package pep517 can be used to trigger various build/packaging hooks.

The major advantage are the requirements being separated from the build. Currently in The Walrus, the setup.py file requires Cython for the line

from Cython.Build import cythonize

This import occurs before the call to the setup() function, so a user installing from source must manually install Cython before running pip (this has been a recurring issue with The Walrus installations). Using PEP 517, however, Cython would be automatically installed, if needed.

@sduquemesa sduquemesa added dependencies Pull requests that update a dependency file python labels Oct 7, 2021
@sduquemesa
Copy link
Contributor

@josh146 @nquesada, is this still relevant knowing that The Walrus does not depend on cython any longer?

@josh146
Copy link
Member Author

josh146 commented Mar 4, 2022

Hey @sduquemesa, it would still be useful long term to port to using PEP517/518, since this is the future of Python packaging, but as you note the reasons for doing it listed in the main comment are no longer relevant

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file python
Projects
None yet
Development

No branches or pull requests

2 participants