Metadata-Version: 1.1 Name: xopen Version: 0.3.2 Summary: Open compressed files transparently Home-page: https://github.com/marcelm/xopen/ Author: Marcel Martin Author-email: mail@marcelm.net License: MIT Description: .. image:: https://travis-ci.org/marcelm/xopen.svg?branch=master :target: https://travis-ci.org/marcelm/xopen .. image:: https://img.shields.io/pypi/v/xopen.svg?branch=master :target: https://pypi.python.org/pypi/xopen ===== xopen ===== This small Python module provides an ``xopen`` function that works like the built-in ``open`` function, but can also deal with compressed files. Supported compression formats are gzip, bzip2 and xz. They are automatically recognized by their file extensions `.gz`, `.bz2` or `.xz`. The focus is on being as efficient as possible on all supported Python versions. For example, simply using ``gzip.open`` is very slow in older Pythons, and it is a lot faster to use a ``gzip`` subprocess. For writing to gzip files, ``xopen`` uses ``pigz`` when available. This module has originally been developed as part of the `cutadapt tool `_ that is used in bioinformatics to manipulate sequencing data. It has been in successful use within that software for a few years. ``xopen`` is compatible with Python 2.7, 3.3, 3.4, 3.5 and 3.6. Usage ----- Open a file for reading:: from xopen import xopen with xopen('file.txt.xz') as f: content = f.read() Or without context manager:: from xopen import xopen f = xopen('file.txt.xz') content = f.read() f.close() Open a file for writing:: from xopen import xopen with xopen('file.txt.gz', mode='w') as f: f.write('Hello') Credits ------- The name ``xopen`` was taken from the C function of the same name in the `utils.h file which is part of BWA `_. Kyle Beauchamp has contributed support for appending to files. Some ideas were taken from the `canopener project `_. If you also want to open S3 files, you may want to use that module instead. Author ------ Marcel Martin (`@marcelm_ on Twitter `_) Links ----- * `Source code `_ * `Report an issue `_ * `Project page on PyPI (Python package index) `_ Platform: UNKNOWN Classifier: Development Status :: 4 - Beta Classifier: License :: OSI Approved :: MIT License Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6