Wed Jan 3 13:51:25 PST 2018 There are 4 versions of xz_mod here. Or 5 in a way. xz_mod.py contains all four, and prefers them in an order it thinks will be best, but isn't always. It is the best tested version of xz compression/uncompression. xz_base_mod.py has an abstract class used by the 4, but is otherwise unrelated to xz_mod.py. xz_ctypes_mod.py, xz_lzma_mod.py, xz_os_mod.py and xz_subprocess_mod.py are the four; each uses xz_base_mod.py. They each contain 1 way of doing xz compression and decompression. They are derived from xz_mod.py, but are unused at this time. I've been considering copying or symlinking 1 of these 4 to xz_mod.py, to keep things simple, and give the sysadmin greater control over what's happening than what xz_mod.py currently allows. However, the control doesn't appear to be entirely necessary. xz_lzma_mod.py is quite good in most cases. True, it's really slow on some of the older pypy3's, but recently it's been doing fine, even on pypy3. To be absolutely clear: xz_ctypes_mod.py, xz_lzma_mod.py, xz_os_mod.py and xz_subprocess_mod.py are each 1 adapter for the same things that xz_mod.py has 4 adapters for.