Skip to content

Conversation

webknjaz
Copy link
Member

This essentially allows the cythonization opt-out be controlled by the pure-python PEP 517 config setting that can be passed to the corresponding build frontends via their respective CLIs.

@webknjaz webknjaz changed the title 📦 Move packaging to PEP 517 in-tree backend [DNM] 📦 Move packaging to PEP 517 in-tree backend Sep 10, 2024
from shutil import copytree
from sys import implementation as _system_implementation
from sys import stderr as _standard_error_stream
from sys import version_info as _python_version_tuple

Check notice

Code scanning / CodeQL

Unused import Note

Import of '_python_version_tuple' is not used.
Comment on lines +39 to +44
# with suppress(ImportError):
# # NOTE: Only available for wheel builds that bundle C-extensions. Declared
# # NOTE: by `get_requires_for_build_wheel()` and
# # NOTE: `get_requires_for_build_editable()`, when `pure-python`
# # NOTE: is not passed.
# from Cython.Build.Cythonize import main as _cythonize_cli_cmd

Check notice

Code scanning / CodeQL

Commented-out code Note

This comment appears to contain commented-out code.
Comment on lines +315 to +316
# with _patched_cython_env(config['env'], line_tracing_requested):
# _cythonize_cli_cmd(cythonize_args)

Check notice

Code scanning / CodeQL

Commented-out code Note

This comment appears to contain commented-out code.
Comment on lines +8 to +13
from ._backend import ( # type: ignore[assignment] # noqa: WPS436
build_sdist,
build_wheel,
# get_requires_for_build_wheel,
prepare_metadata_for_build_wheel,
)

Check notice

Code scanning / CodeQL

Unused import Note

Import of 'build_sdist' is not used.
Import of 'build_wheel' is not used.
Import of 'prepare_metadata_for_build_wheel' is not used.
Comment on lines +17 to +21
from ._backend import ( # type: ignore[assignment] # noqa: WPS436
build_editable,
# get_requires_for_build_editable,
prepare_metadata_for_build_editable,
)

Check notice

Code scanning / CodeQL

Unused import Note

Import of 'build_editable' is not used.
Import of 'prepare_metadata_for_build_editable' is not used.
@webknjaz
Copy link
Member Author

This is me cleaning up uncommitted things lying around on disk. It needs some love. Do not merge.

IIRC, the thing that I was trying to figure out last was generating gcov coverage, looking into https://gcovr.com. It supposedly needs to be compiled twice (unlike what was needed for Cython) with some non-optimized flags, but I haven't gotten it to work. If anybody has ideas — plz document them here.

This essentially allows the cythonization opt-out be controlled by the
`pure-python` PEP 517 config setting that can be passed to
the corresponding build frontends via their respective CLIs.
@webknjaz webknjaz force-pushed the packaging/pep517-in-tree-backend branch from 5138892 to 6b691c4 Compare March 20, 2025 23:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant