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

chore: Use PEP 517 build system #456

Merged
merged 1 commit into from Jun 20, 2021

Conversation

henryiii
Copy link
Collaborator

@henryiii henryiii commented Jun 15, 2021

This makes the pyproject.toml file available for configuration (such as for #455).

Pros:

  • Gives correct results if wheel is missing (normally a non-wheel build is made, which doesn't pre-cache all pyc files, etc).
  • Gives correct results in an environment without setuptools (starting to become more common).
  • Is not affected by the current Python environment's installs.
  • No effect on legacy pips (pip 9 or less), they work as before.
  • Enables using the file for other configuration.
  • Likely will become the pip default in the future.

Cons:

  • Can be slightly slower (1-2 seconds) when building from source due to setting up a temporary virtual environment. Besides "correctness is better than speed" for building, this is almost never activated, since this is a pure Python project and has wheels. Users installing from wheels do not even have the pyproject.toml file or setup.py file anyway.
  • Causes pip to be really verbose when you add -v about trivial package searching.

Wrongly considered cons:

  • This does not mean you have to access the internet when building from source. If a package is cached that matches the requirements (say, setuptools 43 is present), then it just uses that and doesn't need to access PyPI.
  • For special situations, you can disable the build isolation; conda-build for example does this.

@cjolowicz cjolowicz merged commit d977535 into wntrblm:main Jun 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants