Passing arguments to the PEP517 sipbuild.api backend

Michał Górny mgorny at gentoo.org
Sat May 7 10:33:14 BST 2022


On Sat, 2022-05-07 at 10:12 +0100, Phil Thompson wrote:
> On 06/05/2022 14:51, Michał Górny wrote:
> > Hello,
> > 
> > I'm one of the maintainers of Python packages in Gentoo.  Lately we've
> > been working on transitioning from the legacy "setup.py install"
> > workflow to PEP517 build backends.  As part of that, I'd like to work
> > on switching the packages relying on sip -- starting with recently
> > released update to python-poppler-qt5 but eventually including PyQt.
> > 
> > Unfortunately, I can't find a way to pass options to the PEP517 backend
> > in the way that it is possible to the sip-build executable.  Is it
> > possible to inject options currently?  If not, could you please add 
> > such
> > a possibility?  The config_settings dictionary of build_wheel() method
> > seems to be the usual method of doing that (cf. setuptools accepting
> > {"--global_option": [...]}, though admittedly that double-dash is weird
> > there).
> > 
> > TIA.
> 
> The sipbuild.api backend currently ignores any config settings because 
> (as it says in the comments) I wasn't aware of a frontend that seemed to 
> support the feature so I couldn't test it properly.
> 
> Do you have your own frontend or are you using pip (or similar)?
> 

Yes-ish.  I've written gpep517 for our needs [1] but the more common
build [2] package also supports passing config settings, e.g.:

  gpep517 build-wheel --output-fd 1 --wheel-dir dist/ \
    --config-json '{"--global-option": ["--foo"]}'

  python -m build -nw --config-setting=--global-option=--foo

[1] https://pypi.org/project/gpep517/
[2] https://pypi.org/project/build/

-- 
Best regards,
Michał Górny



More information about the PyQt mailing list