mirror of
https://github.com/rommapp/romm.git
synced 2026-02-18 00:27:41 +01:00
At the moment, 7zip files are generating memory issues and even OOM errors on user installations. This is because the current stable release of `py7zr` does not support decompression streaming, and RomM needs to decompress the each 7zip file in the library into memory to be able to calculate hashes. This change introduces a `py7zr` fork I created to have a stable commit SHA to refer to in case upstream gets any forced pushes. It includes the contents of the pull request the `py7zr` creator is working on to support decompression streaming [1]. The way decompression streaming is implemented in `py7zr` is different than the other compression utilities. Instead of being able to provide a `bytes` iterator, we need to provide a `Py7zIO` implementation that will call a callback on each read and write operation. [1] https://github.com/miurahr/py7zr/pull/620