descriptionRar archive reader for Python
homepage URLhttps://github.com/markokr/rarfile
repository URLhttps://github.com/markokr/rarfile.git
ownervadmium+repo@gmail.com
last changeSun, 7 Apr 2024 20:07:33 +0000 (7 23:07 +0300)
last refreshSun, 5 May 2024 17:46:03 +0000 (5 19:46 +0200)
content tags
add:
README.rst
rarfile - RAR archive reader for Python
=======================================

This is Python module for RAR_ archive reading.
The interface follows the style of zipfile_.
Licensed under ISC_ license.

Features:

* Supports both RAR3 and RAR5 format archives.
* Supports multi volume archives.
* Supports Unicode filenames.
* Supports password-protected archives.
* Supports archive and file comments.
* Archive parsing and non-compressed files are handled in pure Python code.
* Compressed files are extracted by executing external tool:
  unrar_ (preferred), unar_, 7zip_ or bsdtar_.
* Works with Python 3.6+.

.. _RAR: https://en.wikipedia.org/wiki/RAR_%28file_format%29
.. _zipfile: https://docs.python.org/3/library/zipfile.html
.. _ISC: https://en.wikipedia.org/wiki/ISC_license
.. _bsdtar: https://github.com/libarchive/libarchive
.. _unrar: https://www.rarlab.com/
.. _unar: https://theunarchiver.com/command-line
.. _7zip: https://www.7-zip.org/

Backends:

+-------------+----------------------+-----------------------------------------------------+
| Backend     | Status               | Notes                                               |
+=============+======================+=====================================================+
| unrar_      | Supported            | * Recommended: full format support.                 |
|             |                      | * Non-free software, but free to use.               |
+-------------+----------------------+-----------------------------------------------------+
| unar_       | Supported            | * Not usable on Windows: last build is from 2013    |
|             |                      |   (v1.8.1) that does support output to stdout.      |
|             |                      | * Does not support RAR2 locked files.               |
|             |                      | * Does not support RAR5 Blake2 hash checking.       |
+-------------+----------------------+-----------------------------------------------------+
| 7zip_       | Supported            | * RAR support not available on Debian/Ubuntu repos. |
+-------------+----------------------+-----------------------------------------------------+
| p7zip_      | Supported            | * Unmaintained?                                     |
|             |                      | * Requires ``p7zip-rar`` package on Debian/Ubuntu.  |
+-------------+----------------------+-----------------------------------------------------+
| bsdtar_     | Supported            | * Not recommended: limited RAR format support.      |
|             |                      | * Does not support multi-volume archives.           |
|             |                      | * Does not support solid archives.                  |
|             |                      | * Does not support password-protected archives.     |
|             |                      | * Does not support RARVM-based compression filters. |
+-------------+----------------------+-----------------------------------------------------+
| unrar-free_ | Supported            | * Supports output to stdout (v0.2.0).               |
|             |                      | * Based on libarchive so similar format support     |
|             |                      |   as ``bsdtar`` but supports multi-volume (v0.3.0). |
+-------------+----------------------+-----------------------------------------------------+

.. _p7zip: https://sourceforge.net/projects/p7zip/
.. _unrar-free: https://gitlab.com/bgermann/unrar-free

Links:

- `Documentation`_
- `Downloads`_
- `Git`_ repo

.. _Git: https://github.com/markokr/rarfile
.. _Downloads: https://pypi.org/project/rarfile/#files
.. _Documentation: https://rarfile.readthedocs.io/
shortlog
2024-04-07 Marko Kreendoc: add readthedocs configmaster
2024-04-06 Marko KreenApply length limit to passwords.
2024-04-03 Marko Kreenv4.2v4.2
2024-04-03 Marko KreenSome docstring fixes.
2024-03-31 Marko KreenUpdate copyright
2024-03-31 Marko KreenUpdate news
2024-03-31 Marko Kreenis_solid: Add versionadded
2024-03-31 Marko KreenAllow multi-vol ENDARC where NEXTVOL flag is missing.
2024-03-31 Marko KreenAdd RarFile.is_solid()
2024-03-31 Bastian GermannList unrar-free as supported
2024-03-31 Bastian GermannCheck unrar tool with -? parameter
2024-03-31 Marko Kreenci: replace py37 with py312
2024-03-31 Marko Kreentox: upgrade packages
2024-03-31 Marko Kreenci: use unrarw64 on windows
2024-03-31 Marko Kreenci: upgrade actions
2023-09-18 Marko Kreendoc: add breaking change note to v3.2 release notes
...
tags
4 weeks ago v4.2
7 months ago v4.1
3 years ago v4.0
3 years ago v3.3
3 years ago v3.2
4 years ago rarfile_3_1
7 years ago rarfile_3_0
7 years ago rarfile_2_8
9 years ago rarfile_2_7
11 years ago rarfile_2_6
12 years ago rarfile_2_5
12 years ago rarfile_2_4
12 years ago rarfile_2_3
13 years ago rarfile_2_2
13 years ago rarfile_2_1
14 years ago rarfile_2_0
heads
3 weeks ago master
3 years ago stable-3.x