2 ms·
> Because I depend on a C compiler But do you specify it in the Python build toolchain, e.g. setup.py? If I'm not mistaken, the binary compilation step happens
by BerislavLopac 6y ago
> Because I depend on a C compiler
But do you specify it in the Python build toolchain, e.g. setup.py? If I'm not mistaken, the binary compilation step happens independently, with the Python build packing everything up in a wheel.
> and have optional dependencies on Python packages which aren't in PyPI.
Such dependencies can still be declared in pyproject.toml, depending on the build tool - Poetry can add them by e.g. a local path, or git repo URL. I'm not sure what happens if you depend on them for the build itself, but it should be possible to add them to the build-system table in the TOML file.
But pyproject.toml doesn't change anything compared to the current system; for backward compatibility, PEP 518 assumes this default file if a custom one is missing:
[build-system]
requires = ["setuptools", "wheel"]
Which is enough to execute the standard setup.py.
In any case, as per PEP 517, you can define your own custom packaging backend using the build-backend value in the [build-system] table.