- Improve interoperability with
importlib.metadata
, fixing a regression in setuptools compatibility in 1.1 (#199). - Clean up the
_in_process
directory inside the package fromsys.path
before imporing the backend (#193).
- Add type annotations to the public API.
- More careful handling of the
backend-path
key frompyproject.toml
. Previous versions would load the backend and then check that it was loaded from the specified path; the new version only loads it from the specified path. TheBackendInvalid
exception is now a synonym for :exc:`BackendUnavailable`, and code should move to using the latter name.
- Rename package to
pyproject_hooks
(frompep517
). - Remove deprecated modules (
.build
,.check
and.envbuild
). Use the build project instead for this higher-level functionality of setting up a temporary build environment. - Require Python 3.7 or above.
- Use
tomllib
from the standard library on Python 3.11.pyproject_hooks
now has no external dependencies when installed in Python 3.11. - Avoid chaining exceptions when using the fallback implementation for :meth:`.prepare_metadata_for_build_wheel`.
- Fix propagating error message for :exc:`.BackendInvalid` errors.
- Remove support for end-of-life Pythons. Now requires Python3.6+.
- Remove support for
toml
package. Now requirestomli
. - Rely on preferred "files" API on Python 3.9 and later (#140).
- Add method for pip to check if build_editable hook is supported. This is a private API for now.
- Fix DeprecationWarning in tomli.
- Support editable hooks (PEP 660).
- Use the TOML 1.0 compliant
tomli
parser module on Python 3.6 and above. - Ensure TOML files are always read as UTF-8.
- Switch CI to Github actions.
- Avoid shadowing imports such as
colorlog
in the backend, by moving the_in_process.py
script into a separate subpackage. - Issue warnings when using the deprecated
pep517.build
andpep517.check
modules at the command line. See the PyPA build project for a replacement. - Allow building with flit_core 3.x.
- Prefer the standard library
unittest.mock
tomock
for tests on Python 3.6 and above.
- Silence some static analysis warnings.
- Deprecated the higher level API which handles creating an environment and installing build dependencies. This was not very complete, and the PyPA build project is designed for this use case.
- New
python_executable
parameter for :class:`.BuildBackendHookCaller` to run hooks with a different Python interpreter. - Fix for locating the script to run in the subprocess in some scenarios.
- Fix example in README to get
build-backend
correctly. - Created documentation on Read the Docs
- Various minor improvements to testing.