# How can build backends avoid breaking users when they make backwards incompatible changes?

**URL:** <https://discuss.python.org/t/how-can-build-backends-avoid-breaking-users-when-they-make-backwards-incompatible-changes/85847>\
**Category:** Packaging\
**Created:** [March 25, 2025, 3:12am UTC](https://discuss.python.org/t/how-can-build-backends-avoid-breaking-users-when-they-make-backwards-incompatible-changes/85847 "2025-03-25T03:12:10Z")\
**Posts on this page:** 1\
**Showing post:** 50

<div class="post-metadata">

**Author:** ![pf\_moore](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/pf_moore/32/35_2.png) [@pf\_moore](https://discuss.python.org/u/pf_moore)\
**Post date:** [April 3, 2025, 9:11pm UTC](https://discuss.python.org/t/how-can-build-backends-avoid-breaking-users-when-they-make-backwards-incompatible-changes/85847/50 "2025-04-03T21:11:29Z")

</div>

This is all speculation, I agree. But we need to be cautious with how we use our “churn budget”, and a bad design choice right on the tail of recent issues might be too much for our end users.

> [@notatallshaw](#):
>
> Advanced users will be able to suppress build warnings without any need to additional UX from pip, with something like setting `PYTHONWARNINGS=ignore::BuildBackendWarning` or calling pip like `python -W ignore::BuildBackendWarning -m pip ...` (it might need the fully qualified location of the warning?). I would be in favor of including this in the release notes and/or docs.

I was assuming this might not work, because the build backend is run in a separate process, so the `-W` flag won’t get passed through (I’m less sure about the environment variable, is it one we let through to the child process?) But regardless, I’m not convinced that’s sufficient for the “I’ve reported the problem back to the dependency that’s triggering the warning, now I just want to get on with my life until they fix it” scenario.

Of course, if we’re only displaying warnings for top-level requirements, as I suggested above, that might not be an issue, as the user should be in a position to fix the problem themselves (unless they are doing something like installing a project from PyPI that doesn’t publish wheels).

---

_[View the full topic](https://discuss.python.org/t/how-can-build-backends-avoid-breaking-users-when-they-make-backwards-incompatible-changes/85847)._
