Hello. > liblzma cannot be used to decode data from .7z files except in certain > cases. This isn't a bug, it's a missing feature. Thank you for detailed explanations.
It is worth to describe in python's lzma module document why LZMA1 is only supported with FORMAT_ALONE(lzma_alone_decode). I'd like to close a question and a report as resolved and change python bugs ticket as a documentation issue. > Also note that .7z files tend to use BCJ2 for x86 code. liblzma doesn't > support the x86 BCJ2 filter at all because it isn't streamable (it > could be modified to be but then it's not compatible). So even if the > liblzma was improved to handle the lack of end marker in a better way, > you still couldn't decompress all .7z files. For .7z, LZMA SDK is the > way to go. It is well documented in python documentation , so I've set it as a limitation of my project. There is PyLZMA project a LZMA SDK binding, and I'd like to use it for future to support LZMA2+BCJ2. -- Hiroshi Miura