Skip to main content

A small library to return temporary decompressed files when one needs them.

Project description

dcompressee: a small Python library to generate temporarirly decompressed files

Background

A common use case in Bioinformatics is having to temporarily decompress a file in order to run it through some tool. For instance, blastn can only read uncompressed FASTA files. This library provides a simple way to do this. The library will automatically detect the compression format of the file and decompress it to a temporary file. The temporary file will be automatically deleted when the program exits. The library currently supports the following compression formats: gzip, bzip2, xz, lz4, and lzma.

Usage

from dcompressee import unpack

# A list of file paths as pathlib.Path objects with various compression formats, 
# and some are not compressed
files = ["/path/to/file1.fasta.gz", "/path/to/file2.fasta.bz2", "/path/to/file3.fasta.xz", "/path/to/file4.fasta"]

# Generate a list of paths as pathlib.Path objects to temporarily decompressed 
# files (these will be created in $TMPDIR) if necessary. For files that are not 
# compressed, the function will return the original path. 
# The created temporary files will be automaicallly deleted when the program exits.
paths = [unpack(f) for f in files]

Installation

pip install dcompressee

Examples

Two examples are provided in the examples directory. The first example shows how to use dcompressee in a simple Python script. The second example shows how to use dcompressee in a asynchronous manner.

Author

Anders Goncalves da Silva (@andersgs)

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

dcompressee-1.0.0.tar.gz (3.2 kB view hashes)

Uploaded Source

Built Distribution

dcompressee-1.0.0-py3-none-any.whl (3.4 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