During the PEP 517 discussion, I asked why the new source-distribution hook should produce a gzipped tarball rather than a ZIP. Wheels were ZIPs, Python could import from ZIPs, and I had already spent considerable time using the format in Zippy.
My argument was about the format’s mechanics. A central directory made its contents addressable. Compression belonged to individual members. Appending could add entries, and locating the directory near the end enabled the executable-plus-archive construction I had used. Windows also supplied a large installed base of ZIP tooling.
I saw an opportunity to use one archive family across Python packaging and asked for a rationale if the specification was going to narrow the choice.
The adopted PEP chose .tar.gz, using the pax tar format and UTF-8 filenames. Its explanation points to tarballs already being the more common source-distribution format and to the simpler tooling enabled by choosing one format.
I can see the reason for that choice, even though I favored ZIP. Uniformity within the existing sdist ecosystem and uniformity across Python’s different artifacts were different goals. ZIP’s features did not settle which transition the ecosystem should make.