Read/test/extract ACE 1.0 and 2.0 archives in pure python.
This single-file, pure-python, no-dependencies python 3 implementation is designed to be used both as a library and as a stand-alone unace utility. The library API is modeled after tarfile. As pure-python implementation, it is significantly slower than native implementations.
This implementation supports up to version 2.0 of the ACE archive format, including the EXE, DIFF, PIC and SOUND modes of ACE 2.0, password protected archives and multi-volume archives.
This is an implementation from scratch, based on the 1998 document titled “Technical information of the archiver ACE v1.2” by Marcel Lemke, using unace 2.5 and WinAce 2.69 by Marcel Lemke as reference implementations.