34
34
python-isal
35
35
===========
36
36
37
+ .. introduction start
38
+
37
39
Faster zlib and gzip compatible compression and decompression
38
40
by providing Python bindings for the ISA-L library.
39
41
@@ -47,8 +49,12 @@ a variety of functions to provide zlib/gzip-compatible compression.
47
49
``igzip `` module which are usable as drop-in replacements for the ``zlib ``
48
50
and ``gzip `` modules from the stdlib (with some minor exceptions, see below).
49
51
50
- Usage
51
- -----
52
+ .. introduction end
53
+
54
+ Quickstart
55
+ ----------
56
+
57
+ .. usage start
52
58
53
59
Python-isal has faster versions of the stdlib's ``zlib `` and ``gzip `` module
54
60
these are called ``isal_zlib `` and ``igzip `` respectively.
@@ -68,65 +74,26 @@ A full API documentation can be found on `our readthedocs page
68
74
<https://python-isal.readthedocs.io> `_.
69
75
70
76
``python -m isal.igzip `` implements a simple gzip-like command line
71
- application (just like ``python -m gzip ``).
72
-
73
- Installation
74
- ------------
75
- Installation with pip
76
- .....................
77
-
78
- ::
79
-
80
- pip install isal
81
-
82
- Installation is supported on Linux, MacOS and Windows. On x86-64 (amd64)
83
- platforms wheels are provided, so installation should be almost instantaneous.
84
- The installation will include a staticallly linked version of ISA-L.
85
- If a wheel is not provided for your system the
86
- installation will build ISA-L first in a temporary directory. Please check the
87
- `ISA-L homepage <https://github.com/intel/isa-l >`_ for the build requirements.
88
-
89
- The latest development version of python-isal can be installed with::
90
-
91
- pip install git+https://github.com/rhpvorderman/python-isal.git
77
+ application (just like ``python -m gzip ``). Full usage documentation can be
78
+ found on `our readthedocs page <https://python-isal.readthedocs.io >`_.
92
79
93
- This requires having the build requirements installed.
94
- If you wish to link
95
- dynamically against a version of libisal installed on your system use::
96
80
97
- PYTHON_ISAL_LINK_DYNAMIC=true pip install isal --no-binary isal
81
+ .. usage end
98
82
99
- ISA-L is available in numerous Linux distro's as well as on conda via the
100
- conda-forge channel. Checkout the `ports documentation
101
- <https://github.com/intel/isa-l/wiki/Ports--Repos> `_ on the ISA-L project wiki
102
- to find out how to install it. It is important that the development headers
103
- are also installed.
104
-
105
- On Debian and Ubuntu the ISA-L libraries (including the development headers)
106
- can be installed with::
107
-
108
- sudo apt install libisal-dev
109
-
110
- Installation via conda
111
- ..................................
112
- Python-isal can be installed via conda, for example using
113
- the `miniconda <https://docs.conda.io/en/latest/miniconda.html >`_ installer
114
- with a properly setup `conda-forge
115
- <https://conda-forge.org/docs/user/introduction.html#how-can-i-install-packages-from-conda-forge> `_
116
- channel. When used with bioinformatics tools setting up `bioconda
117
- <http://bioconda.github.io/user/install.html#install-conda> `_
118
- provides a clear set of installation instructions for conda.
119
-
120
- python-isal is available on conda-forge and can be installed with::
121
-
122
- conda install python-isal
83
+ Installation
84
+ ------------
85
+ - with pip: ``pip install isal ``
86
+ - with conda: ``conda install python-isal ``
123
87
124
- This will automatically install the ISA-L library dependency as well, since
125
- it is available on conda-forge.
88
+ Installation is supported on Linux, Windows and MacOS. For more advanced
89
+ installation options check the `documentation
90
+ <https://python-isal.readthedocs.io/en/stable/index.html#installation> `_.
126
91
127
92
Differences with zlib and gzip modules
128
93
--------------------------------------
129
94
95
+ .. differences start
96
+
130
97
+ Compression level 0 in ``zlib `` and ``gzip `` means **no compression **, while
131
98
in ``isal_zlib `` and ``igzip `` this is the **lowest compression level **.
132
99
This is a design choice that was inherited from the ISA-L library.
@@ -151,8 +118,47 @@ Differences with zlib and gzip modules
151
118
to reflect this. ``igzip.GzipFile `` does exist as an alias of
152
119
``igzip.IGzipFile `` for compatibility reasons.
153
120
121
+ .. differences end
122
+
154
123
Contributing
155
124
------------
125
+ .. contributing start
126
+
156
127
Please make a PR or issue if you feel anything can be improved. Bug reports
157
128
are also very welcome. Please report them on the `github issue tracker
158
129
<https://github.com/rhpvorderman/python-isal/issues> `_.
130
+
131
+ .. contributing end
132
+
133
+ Acknowledgements
134
+ ----------------
135
+
136
+ .. acknowledgements start
137
+
138
+ This project builds upon the software and experience of many. Many thanks to:
139
+
140
+ + The `ISA-L contributors
141
+ <https://github.com/intel/isa-l/graphs/contributors> `_ for making ISA-L.
142
+ + The `Cython contributors
143
+ <https://github.com/cython/cython/graphs/contributors> `_ for making it easy
144
+ to create an extension and helping a novice get start with pointer addresses.
145
+ + The `CPython contributors
146
+ <https://github.com/python/cpython/graphs/contributors> `_.
147
+ Python-isal mimicks ``zlibmodule.c `` and ``igzip.py `` to make it easier for
148
+ python users to adopt it.
149
+ + `@marcelm <https://github.com/marcelm >`_ for taking a chance on this project
150
+ and make it a dependency for his `xopen
151
+ <https://github.com/pycompression/xopen> `_ and by extension `cutadapt
152
+ <https://github.com/marcelm/cutadapt> `_ projects. This gave python-isal its
153
+ first users who used python-isal in production.
154
+ + The `github actions team <https://github.com/orgs/actions/people >`_ for
155
+ creating the actions CI service that enables building and testing on all
156
+ three major operating systems.
157
+ + `@animalize <https://github.com/animalize >`_ for explaining how to test and
158
+ build python-isal for ARM 64-bit platforms.
159
+ + And last but not least: everyone who submitted a bug report or a feature
160
+ request. These make the project better!
161
+
162
+ Python-isal would not have been possible without you!
163
+
164
+ .. acknowledgements end
0 commit comments