List optional dependencies and supported versions on Configuration page

The proposal is to list optional dependencies and their supported versions on 3. Configure Python — Python 3.14.0 documentation , it seems like a logical place to find build requirements. E.g. currently zstd and zlib are missing from the list.

All dependencies are currently listed under Features and minimum versions required to build CPython - so it gives am impression that all of them are required for build to succeed.

It’s important to specify which extensions are actually optional to build Python - e.g. openssl is listed as required to build ssl extension module (OpenSSL 1.1.1 is the minimum version and OpenSSL 3.0.18 is the recommended minimum version for the ssl and hashlib extension modules.), but it’s not clear that ssl extension is actually optional.

This was actually discussed at yesterdays Docs Community meeting (see minutes). Note that there is also an open issue for ztsd, and your’s for zlib.

so it gives am impression that all of them are required for build to succeed.

The build does succeed, just not of those modules, they are skipped. The issue you had with zlib is covered in PEP 775. (Some of the authors of that, now withdrawn PEP, are looking into, how do we define what an “optional” module is, and then improving the error mechanism for those modules, see PEP 534)

As for the configure page, I’ll open a PR, there was general consensus at the docs community meeting that we should update it to list all such cases.

1 Like

Implemented in gh-139823: Extend list of optional dependencies in `configure.rst` by StanFromIreland · Pull Request #139826 · python/cpython :tada::tada:

1 Like

My work is further expanded in Petr’s PR: https://github.com/python/cpython/pull/140171

1 Like