#3380: Passing some types of parameters via --global-option to setuptools PEP 517/PEP 660 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.
Breaking Changes
^^^^^^^^^^^^^^^^
#3265: Added implementation for editable install hooks (PEP 660).
By default the users will experience a lenient behavior which prioritises
the ability of the users of changing the distributed packages (e.g. adding new
files or removing old ones).
But they can also opt into a strict mode, which will try to replicate as much
as possible the behavior of the package as if it would be normally installed by
end users. The strict editable installation is not able to detect if files
are added or removed from the project (a new installation is required).
.. important::
The editable aspect of the editable install supported this implementation
is restricted to the Python modules contained in the distributed package.
Changes in binary extensions (e.g. C/C++), entry-point definitions,
dependencies, metadata, datafiles, etc may require a new installation.
Changes
^^^^^^^
#3380: Improved the handling of the config_settings parameter in both PEP 517 and
PEP 660 interfaces:
It is possible now to pass both --global-option and --build-option.
As discussed in #1928, arbitrary arguments passed via --global-option
should be placed before the name of the setuptools' internal command, while
--build-option should come after.
Users can pass editable-mode=strict to select a strict behaviour for the
editable installation.
#3392: Exposed get_output_mapping() from build_py and build_ext
subcommands. This interface is reserved for the use of setuptools
Extensions and third part packages are explicitly disallowed to calling it.
However, any implementation overwriting build_py or build_ext are
required to honour this interface.
#3412: Added ability of collecting source files from custom build sub-commands to
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on setuptools to permit the latest version.
Changelog
Sourced from setuptools's changelog.
... (truncated)
Commits
bc39d28
Bump version: 63.4.3 → 64.0.06bf89ca
Merge PEP 660 implementation (#3488)2a30946
docs: Avoid refering to the strict mode as experimental5a9a3dc
PEP 660: Final touches in main new fragmentDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)