According to the What’s new in Python 3.14 page, shutil (among other modules) should Just Work with zstd.
The new compression.zstd module provides compression and decompression APIs for the Zstandard format via bindings to Meta’s zstd library. Zstandard is a widely adopted, highly efficient, and fast compression format. In addition to the APIs introduced in compression.zstd, support for reading and writing Zstandard compressed archives has been added to the tarfile, zipfile, and shutil modules.
However, this isn't reflected in the shutil docs:
By default shutil provides these formats:
*zip*: ZIP file (if the zlib module is available). *tar*: Uncompressed tar file. Uses POSIX.1-2001 pax format for new archives. *gztar*: gzip’ed tar-file (if the zlib module is available). *bztar*: bzip2’ed tar-file (if the bz2 module is available). *xztar*: xz’ed tar-file (if the lzma module is available).
And actually running it results in an error:
print(shutil.get_unpack_formats())
shutil.unpack_archive("/home/user/workdir/my.tar.zst", "/tmp/some_temp_dir")
[('bztar', ['.tar.bz2', '.tbz2'], "bzip2'ed tar-file"), ('gztar', ['.tar.gz', '.tgz'], "gzip'ed tar-file"), ('tar', ['.tar'], 'uncompressed tar file'), ('xztar', ['.tar.xz', '.txz'], "xz'ed tar-file"), ('zip', ['.zip'], 'ZIP file')]
shutil.ReadError: Unknown archive format '/home/user/workdir/my.tar.zst'```
(ran out of characters, my attempt an manual wiring is in the next message)