Library to (un)pack archives and (de)compress files
Project description
Code: https://rolln.de/knoppo/xtract
Documentation: https://docs.rolln.de/knoppo/xtract/master
Coverage: https://coverage.rolln.de/knoppo/xtract/master
Python library providing an API to unpack/decompress and pack/compress directories and files. It’s a wrapper around the supported archive and compression formats.
Supported Archives:
Archives are always unpacked to a new directory!
rar
application/rar
application/x-rar
zip
application/zip
application/x-zip
tar
no compression (See usage examples below for an example of adding compression)
application/tar
application/x-tar
Supported Compressions:
gz
application/gzip
application/x-gzip
xz
application/xz
application/x-xz
bz2
application/bzip
application/x-bzip
Installation
pip install xtract
See the quickstart documentation for more detailed installation instructions.
Usage Examples
The convenience function xtract can be used to unpack/decompress anything:
>>> from xtract import xtract
>>> xtract('my-directory.tar.gz')
'/home/<user>/my-directory.tar'
Use the all switch to loop until FileTypeNotSupported is raised:
>>> xtract('my-directory.tar.gz', all=True)
'/home/<user>/my-directory'
Compress a file:
>>> from xtract import bz2
>>> bz2('my-file.txt', delete_source=True)
'/home/<user>/my-file.txt.bz2'
Every function returns the destination (if successful) to chain them:
This creates an intermediate .tar file! Use delete_source=True to delete it afterwards.
>>> from xtract import tar, gzip
>>> gzip(
>>> tar('my-directory', ['file1.txt', 'file2.txt']),
>>> delete_source=True
>>> )
'/home/<user>/my-directory.tar.gz'
See the manual for more examples.
License
Copyright (c) 2017 Mathias Stelzer
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file xtract-0.1a3.tar.gz
.
File metadata
- Download URL: xtract-0.1a3.tar.gz
- Upload date:
- Size: 20.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
1baac33be7494a106233e0db9de8d3ccc743635092a9b134641151c71bc322e3
|
|
MD5 |
ff7e03eb560f1a36230f3b32f43082e4
|
|
BLAKE2b-256 |
3575e5f69665d910be47838cb95bd534f7ca1c47faf47dec147533b94433a13d
|
File details
Details for the file xtract-0.1a3-py2.py3-none-any.whl
.
File metadata
- Download URL: xtract-0.1a3-py2.py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
e085b268480f2123d1f7e25411a13721e987cfa064447afdbe895949cfe2899a
|
|
MD5 |
1dcb91afe513d7e15a7f9c05d928fe1d
|
|
BLAKE2b-256 |
37742d74c59ae912dc9336d87e2ff16fa09c9d2f8b4abdd11c5c9d6770948add
|