Package: gpep517
gpep517 is a minimal tool to aid building wheels for Python packages
throughPEP 517-compliant build systems and installing them.
The tool originated from Gentoo with its primary goals being absolutely
minimal dependency footprint to ease clean bootstrap without bundling
dependencies, and clean separation of functions to aid external package
managers.  It is the tool of choice for a world that does not revolve
around pip and venvs.Change logv15replace prefix rewriting with the ability to specify--prefixfor building wheels, making it consistent with prefix overrides
used while installingv14add support for offset prefix rewriting (--rewrite-prefix-fromand--rewrite-prefix-to) to support Gentoo cross-prefix builds;
thanks to Chewi for the patchv13restore PyPy support for--sysroot(Gentoo’s PyPy3 package
was buggy)v12add--sysrootoption for experimental cross-compilation supportv11test fixes and refactoringsv10create specified--wheel-dirautomaticallyv9add--optimizeoption to byte-compile while installinginclude implicit setuptools fallback inbuild-wheeladdinstall-from-sourcecommand combining building a wheel
and installing itadd progress reporting via loggingv8improve.pycchecking to use verification data from the file headerv7addverify-pyccommand to aid verifying whether all Python modules
were compiled to.pycfiles correctlyv6strip current working directory fromsys.pathprior to importing
the build backendv5fix zipfile hack not to break reading compressed zipfilesv4patch zipfile compression out by default to improve performancefix Python < 3.9 compatibilityv3add--config-jsonto specify backend optionsv2fix not preservingbackend-pathfor backend invocationsupport tomllib in Python 3.11+v1initial version with wheel building and installation supportCommandsgpep517 implements the following commands:get-backendto readbuild-backendfrompyproject.toml(auxiliary command).build-wheelto call the respeective PEP 517 backend in order
to produce a wheel.install-wheelto install a wheel into the specified directory,install-from-sourcethat combines building a wheel and installing
it (without leaving the artifacts),verify-pycto verify that the.pycfiles in the specified
install tree are correct and up-to-date.Dependenciesgpep517 aims to minimize the dependency footprint to ease bootstrap.
At the moment, it depends on two packages:tomlifor TOML parsing in Python < 3.11installerfor wheel installationAdditionally, PEP 517 build requiresflit_core.  However, the package
can be used from the source tree or manually installed without that
dependency.Running the test suite requirespytestandflit_core(as provided
by thetestextra).  Additional build systems can be installed
to extend integration testing (test-fullextra).  Atoxfile
is also provided to ease running tests.ExamplesThe simplest way to install a package from the current directory
is to use theinstall-from-sourcecommand, e.g.:gpep517install-from-source--destdirinstall--optimizeallgpep517 can also be used as a thin wrapper over theinstallerpackage,
to install a prebuilt wheel:gpep517install-wheel--destdirinstall--optimizeall\gpep517-8-py3-none-any.whlAlternatively, the wheel can be built and installed separately.
Notably, this leaves the built wheel in the specified directory
for reuse:set-emkdir-pdistwheel_name=$(# the output forwarding trick guarantees that the underlying# backend will not output into ${wheel_name}gpep517build-wheel--output-fd3--wheel-dirdist\3>&1>&2)gpep517install-wheel--destdirinstall"dist/${wheel_name}"