-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Handle config_settings
as they would be passed by pip
#3380
Merged
abravalheri
merged 12 commits into
pypa:feature/pep660
from
abravalheri:handle-config-settings
Jun 17, 2022
Merged
Handle config_settings
as they would be passed by pip
#3380
abravalheri
merged 12 commits into
pypa:feature/pep660
from
abravalheri:handle-config-settings
Jun 17, 2022
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
It requires changes in other parts of the build system/commands to be able to be used.
`--build-option` should be used as a escape hatch to pass command specific options, while `--global-option` can be used to pass flags like `--quiet` or `--verbose`.
6 tasks
stanislavlevin
added a commit
to stanislavlevin/pyproject_installer
that referenced
this pull request
Nov 17, 2022
As of 64.0.0 `setuptools` deprecated usage of `--global-option`. https://setuptools.pypa.io/en/latest/history.html#v64-0-0 https://setuptools.pypa.io/en/latest/history.html#deprecations: > [#3380](pypa/setuptools#3380): Passing some types of parameters via --global-option to setuptools [PEP 517](https://peps.python.org/pep-0517/)/[PEP 660](https://peps.python.org/pep-0660/) backend is now considered deprecated. The user can pass the same arbitrary parameter via --build-option (--global-option is now reserved for flags like --verbose or --quiet). > > Both --build-option and --global-option are supported as a transitional effort (a.k.a. “escape hatch”). In the future a proper list of allowed config_settings may be created. Fixes: #17 Signed-off-by: Stanislav Levin <slev@altlinux.org>
stanislavlevin
added a commit
to stanislavlevin/pyproject_installer
that referenced
this pull request
Nov 17, 2022
As of 64.0.0 `setuptools` deprecated usage of `--global-option`. https://setuptools.pypa.io/en/latest/history.html#v64-0-0 https://setuptools.pypa.io/en/latest/history.html#deprecations: > [#3380](pypa/setuptools#3380): Passing some types of parameters via --global-option to setuptools [PEP 517](https://peps.python.org/pep-0517/)/[PEP 660](https://peps.python.org/pep-0660/) backend is now considered deprecated. The user can pass the same arbitrary parameter via --build-option (--global-option is now reserved for flags like --verbose or --quiet). > > Both --build-option and --global-option are supported as a transitional effort (a.k.a. “escape hatch”). In the future a proper list of allowed config_settings may be created. Fixes: #17 Signed-off-by: Stanislav Levin <slev@altlinux.org>
stanislavlevin
added a commit
to stanislavlevin/pyproject_installer
that referenced
this pull request
Nov 17, 2022
As of 64.0.0 `setuptools` deprecated usage of `--global-option`. https://setuptools.pypa.io/en/latest/history.html#v64-0-0 https://setuptools.pypa.io/en/latest/history.html#deprecations: > [#3380](pypa/setuptools#3380): Passing some types of parameters via --global-option to setuptools [PEP 517](https://peps.python.org/pep-0517/)/[PEP 660](https://peps.python.org/pep-0660/) backend is now considered deprecated. The user can pass the same arbitrary parameter via --build-option (--global-option is now reserved for flags like --verbose or --quiet). > > Both --build-option and --global-option are supported as a transitional effort (a.k.a. “escape hatch”). In the future a proper list of allowed config_settings may be created. Fixes: #17 Signed-off-by: Stanislav Levin <slev@altlinux.org>
ghost
mentioned this pull request
Jan 2, 2023
aplaice
added a commit
to aplaice/dulwich
that referenced
this pull request
May 23, 2023
See: jelmer#1093. Currently, both --global-option=--pure and --build-option=--pure work (when set in --config-settings). However, using --global-option in this way is considered deprecated: https://setuptools.pypa.io/en/latest/history.html#id139 pypa/setuptools#3380 --no-binary is needed to prevent pip installing the pre-built wheels from pypi.org.
mkoeppe
added a commit
to mkoeppe/sage
that referenced
this pull request
Apr 17, 2024
…g-settings now, as we have setuptools>=64 with pypa/setuptools#3380
mkoeppe
added a commit
to mkoeppe/sage
that referenced
this pull request
Apr 27, 2024
…g-settings now, as we have setuptools>=64 with pypa/setuptools#3380
mkoeppe
added a commit
to mkoeppe/sage
that referenced
this pull request
Jun 5, 2024
…g-settings now, as we have setuptools>=64 with pypa/setuptools#3380
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is a continuation of the work done to implement PEP 660.
The main objective of this PR is to add support for
config_settings
to select which mode is going to be used by thebuild_editable
hook.But since I was already working with it and adding some tests, I ended up fixing other some other items.
Summary of changes
Improvements in terms of the handling of
config_settings
:Allow frontends and installers to select the strict editable mode via the
config_settings
argument passed to the PEP 660 hooks.Now users should be able to run:
pip install -e . --config-settings editable-mode=strict
Separate config settings given by
--global-option
and--build-option
. The motivation (and approach) for this change is described in build_meta:__legacy__ config_settings not compatible with pip options #1928.When calling setuptools internal commands
--global-option
is placed before the command name, while--build-option
is placed after.For the time being the implementation strives to maintain backwards compatibility, however passing all arbitrary arguments via
--global-option
is now deprecated (a warning is issued).Added tests for using
config_settings
via PEP 660 interface, which also lead to some bug fixing.Added "informational warnings" about off-band link tree repository for strict installs.
Closes
Pull Request Checklist
changelog.d/
.(See documentation for details)