Python wrapper for the UNRAR DLL.
from unrardll import extract
extract(archive_path, destination_directory) # extract everything
from unrardll import names
print(list(names(archive_path))) # get list of filenames in archive
from unrardll import headers
from pprint import pprint
pprint(list(headers(archive_path))) # get list of file headers in archive
from unrardll import extract_member
# Extract a single file using a predicate function to select the file
filename, data = extract_member(archive_path, lambda h: h['filename'] == 'myfile.txt')
from unrardll import comment
print(comment(archive_path)) # get the comment from the archiveAssuming that the RAR dll is installed and the RAR headers available in the include path.
pip install unrardllYou can set the environment variables UNRAR_INCLUDE and UNRAR_LIBDIRS
to point to the location of the unrar headers and library file.
See the :file:`.github/workflows/ci.py` file for a script to install the unrar dll from source, if needed. This is used on the continuous integration servers.