@@ -23,28 +23,66 @@ Introduction
2323Quickstart
2424==========
2525
26- Python-isal has faster versions of the stdlib's ``zlib `` and ``gzip `` module
27- these are called ``isal_zlib `` and ``igzip `` respectively.
26+ .. include :: includes/README.rst
27+ :start-after: .. quickstart start
28+ :end-before: .. quickstart end
29+
30+ ============
31+ Installation
32+ ============
33+ Installation with pip
34+ ---------------------
35+
36+ ::
37+
38+ pip install isal
39+
40+ Installation is supported on Linux, MacOS and Windows. On most platforms
41+ wheels are provided.
42+ The installation will include a staticallly linked version of ISA-L.
43+ If a wheel is not provided for your system the
44+ installation will build ISA-L first in a temporary directory. Please check the
45+ `ISA-L homepage <https://github.com/intel/isa-l >`_ for the build requirements.
46+
47+ The latest development version of python-isal can be installed with::
48+
49+ pip install git+https://github.com/rhpvorderman/python-isal.git
2850
29- They can be imported as follows
51+ This requires having the build requirements installed.
52+ If you wish to link
53+ dynamically against a version of libisal installed on your system use::
3054
31- .. code-block :: python
55+ PYTHON_ISAL_LINK_DYNAMIC=true pip install isal --no-binary isal
3256
33- from isal import isal_zlib
34- from isal import igzip
57+ ISA-L is available in numerous Linux distro's as well as on conda via the
58+ conda-forge channel. Checkout the `ports documentation
59+ <https://github.com/intel/isa-l/wiki/Ports--Repos> `_ on the ISA-L project wiki
60+ to find out how to install it. It is important that the development headers
61+ are also installed.
3562
36- ``isal_zlib `` and ``igzip `` are meant to be used as drop in replacements so
37- their api and functions are the same as the stdlib's modules. Except where
38- ISA-L does not support the same calls as zlib (See differences below).
63+ On Debian and Ubuntu the ISA-L libraries (including the development headers)
64+ can be installed with::
3965
40- A full API documentation can be found below.
66+ sudo apt install libisal-dev
4167
42- ``python -m isal.igzip `` implements a simple gzip-like command line
43- application (just like ``python -m gzip ``). Full usage documentation can be
44- found below.
68+ Installation via conda
69+ ----------------------
70+ Python-isal can be installed via conda, for example using
71+ the `miniconda <https://docs.conda.io/en/latest/miniconda.html >`_ installer
72+ with a properly setup `conda-forge
73+ <https://conda-forge.org/docs/user/introduction.html#how-can-i-install-packages-from-conda-forge> `_
74+ channel. When used with bioinformatics tools setting up `bioconda
75+ <http://bioconda.github.io/user/install.html#install-conda> `_
76+ provides a clear set of installation instructions for conda.
4577
78+ python-isal is available on conda-forge and can be installed with::
4679
47- .. include :: includes/Installation.rst
80+ conda install python-isal
81+
82+ This will automatically install the ISA-L library dependency as well, since
83+ it is available on conda-forge.
84+
85+ .. _differences-with-zlib-and-gzip-modules :
4886
4987======================================
5088Differences with zlib and gzip modules
@@ -54,11 +92,40 @@ Differences with zlib and gzip modules
5492 :start-after: .. differences start
5593 :end-before: .. differences end
5694
57- .. include :: includes/isal_zlib.rst
95+ ============================
96+ API Documentation: isal_zlib
97+ ============================
98+
99+ .. automodule :: isal.isal_zlib
100+ :members:
101+
102+ ========================
103+ API-documentation: igzip
104+ ========================
105+
106+ .. automodule :: isal.igzip
107+ :members: compress, decompress, open
108+
109+ .. autoclass :: IGzipFile
110+ :members:
111+ :special-members: __init__
112+
113+ ============================
114+ API Documentation: igzip_lib
115+ ============================
116+
117+ .. automodule :: isal.igzip_lib
118+ :members:
119+
120+ ==========================
121+ python -m isal.igzip usage
122+ ==========================
58123
59- .. include :: includes/igzip.rst
124+ .. argparse ::
125+ :module: isal.igzip
126+ :func: _argument_parser
127+ :prog: python -m isal.igzip
60128
61- .. include :: includes/isal.igzip_usage.rst
62129
63130============
64131Contributing
0 commit comments