This is the "standard" configure + make + make install, which includes libpython.a, header files, Python's own tests (python -m test), plus __pycache__, and debug symbols. Distros of course may split it up into multiple packages, split out debug symbols, etc.

See `docker run -it --rm -w /store ghcr.io/spack/all-pythons:2025-10-10`.

To be fair, the main contributors are tests and the static library.

Just looking at libpython.so

     10M libpython3.6m.so.1.0
     11M libpython3.7m.so.1.0
     13M libpython3.8.so.1.0
     14M libpython3.9.so.1.0
     17M libpython3.10.so.1.0
     24M libpython3.11.so.1.0
     30M libpython3.12.so.1.0
     30M libpython3.13.so.1.0
     34M libpython3.14.so.1.0
The static library is likely large because of `--with-optimizations` enabling LTO (so smaller shared libs, but larger static libs).