Skip to main content

A mostly universal archive extractor using z7zip, libarchve, other libraries and the Python standard library for reliable archive extraction.

Project description

  • license: Apache-2.0

  • copyright: copyright (c) nexB. Inc. and others

  • homepage_url: https://github.com/nexB/extractcode

  • keywords: archive, extraction, libarchive, 7zip, scancode-toolkit

ExtractCode is a universal archive extractor. It uses behind the scenes the Python standard library, a custom ctypes binding to libarchive and the 7zip command line to extract a large number of common and less common archives and compressed files. It tries to extract things in the same way on all OSes, including auto-renaming files that would not have valid names on certain filesystems or when there are multiple copies of the same path in a given archive. The extraction is driven from a “voting” system that considers the file extension(s) and name, the file type and mime type (using a ctypes binding to libmagic) to select the most appropriate extractor or uncompressor function. It can handle multi-level archives such as tar.gz.

Visit https://aboutcode.org and https://github.com/nexB/ for support and download.

To set up the development environment:

source configure

To run unit tests:

pytest -vvs -n 2

To clean up development environment:

./configure --clean

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

extractcode-21.2.24.tar.gz (11.2 MB view hashes)

Uploaded Source

Built Distribution

extractcode-21.2.24-py3-none-any.whl (46.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page