From 4551effe6a554cdc1dba30fe4b0fe623bdffadfa Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Fri, 27 Feb 2026 21:16:07 +0100 Subject: [PATCH] Improve hint for installing meson-python when missing as build backend (#15826) ## Summary If a package uses meson-python as backend, it's declared as: ``` [build-system] build-backend = 'mesonpy' requires = ['meson-python'] ``` Currently, if meson-python is missing, one gets the following hint: ``` Traceback (most recent call last): File "", line 8, in import mesonpy as backend ModuleNotFoundError: No module named 'mesonpy' hint: This error likely indicates that `sagemath` depends on `mesonpy`, but doesn't declare it as a build dependency. If `sagemath` is a first-party package, consider adding `mesonpy` to its `build-system.requires`. Otherwise, either add it to your `pyproject.toml` under: [tool.uv.extra-build-dependencies] sagemath = ["mesonpy"] or `uv pip install mesonpy` into the environment and re-run with `--no-build-isolation`. ``` which is not quite correct as the build backend/module is called "mesonpy" but the python package one has to install is "meson-python". This hint is improved in this PR. ## Test Plan I didn't yet had a chance to setup a local dev env for testing this. --- crates/uv-build-frontend/src/pipreqs/mapping | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/uv-build-frontend/src/pipreqs/mapping b/crates/uv-build-frontend/src/pipreqs/mapping index 8edacdd6d..9a4f4d752 100644 --- a/crates/uv-build-frontend/src/pipreqs/mapping +++ b/crates/uv-build-frontend/src/pipreqs/mapping @@ -777,6 +777,7 @@ marks:pytest_marks markupsafe:MarkupSafe mavnative:pymavlink memcache:python_memcached +mesonpy:meson-python metacomm:AllPairs metaphone:Metafone metlog:metlog_py