On Thu Jun 18, 2026 at 6:35 PM CDT, Tom Lane wrote: > I wrote: >> Now maybe we can finesse that, like "you can build PL/Python and >> associated contrib modules with Python >= X, but if you want to >> run these optional tests, they require Python >= Y". Not sure >> how comfortable I am with that. I definitely don't want to get >> into a situation where we require buildfarm owners to have >> Python >= Y installed, because then we will not have any testing >> that proves we didn't break the other part. (So we'd need a >> runtime check to skip these tests on too-old Python.) > > Granting that our pytest framework should silently give up if > Python is too old, the decision of which minimum version to target > is really kind of independent of what PL/Python does. It becomes > a tradeoff of ease of coding versus "how many platforms do you want > this test to be able to run on?". I have no insight on what the > coding benefits are of different Python versions, but I do have > this freshly-scraped data about how many buildfarm members are > reporting which major Python version: > > 3 3.5 > 39 3.6 > 5 3.7 > 5 3.8 > 39 3.9 > 6 3.10 > 21 3.11 > 45 3.12 > 48 3.13 > 12 3.14 > 2 3.15 > > Just eyeing that, it seems like 3.9 or 3.11 would be choices that > still allow most animals to run the tests.
The latest versions of pytest require Python >= 3.10. In theory, we could pin to an older pytest version. For what it's worth, the latest version of Meson supports Python >= 3.7. I wonder if we should tie our Meson and pytest versions together such that they support the same Python version. -- Tristan Partin PostgreSQL Contributors Team AWS (https://aws.amazon.com)
