summaryrefslogtreecommitdiff
path: root/doc/source/install.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/source/install.rst')
-rw-r--r--doc/source/install.rst71
1 files changed, 46 insertions, 25 deletions
diff --git a/doc/source/install.rst b/doc/source/install.rst
index b0d6b4f..a551b18 100644
--- a/doc/source/install.rst
+++ b/doc/source/install.rst
@@ -1,21 +1,22 @@
+.. _Installation:
-Installation steps
-==================
+Installation
+============
*silx* supports most operating systems and different versions of the Python
programming language.
This table summarizes the support matrix of silx:
-+------------+--------------+---------------------+
-| System | Python vers. | Qt and its bindings |
-+------------+--------------+---------------------+
-| `Windows`_ | 3.6-3.9 | PyQt5.6+, PySide2 |
-+------------+--------------+---------------------+
-| `MacOS`_ | 3.6-3.9 | PyQt5.6+, PySide2 |
-+------------+--------------+---------------------+
-| `Linux`_ | 3.6-3.9 | PyQt5.3+, PySide2 |
-+------------+--------------+---------------------+
++------------+--------------+--------------------------------+
+| System | Python vers. | Qt and its bindings |
++------------+--------------+--------------------------------+
+| `Windows`_ | 3.7-3.10 | PyQt5.9+, PySide6.4+, PyQt6.3+ |
++------------+--------------+--------------------------------+
+| `MacOS`_ | 3.7-3.10 | PyQt5.9+, PySide6.4+, PyQt6.3+ |
++------------+--------------+--------------------------------+
+| `Linux`_ | 3.7-3.10 | PyQt5.9+, PySide6.4+, PyQt6.3+ |
++------------+--------------+--------------------------------+
For the description of *silx* dependencies, see the Dependencies_ section.
@@ -66,7 +67,8 @@ The mandatory dependencies are:
The GUI widgets depend on the following extra packages:
* A Qt binding: either `PyQt5 <https://riverbankcomputing.com/software/pyqt/intro>`_,
- or `PySide2 <https://wiki.qt.io/Qt_for_Python>`_
+ `PySide6 <https://pypi.org/project/PySide6/>`_ or
+ `PyQt6 <https://pypi.org/project/PyQt6/>`_
* `matplotlib <http://matplotlib.org/>`_
* `PyOpenGL <http://pyopengl.sourceforge.net/>`_
* `qt_console <https://pypi.org/project/qtconsole>`_
@@ -245,7 +247,7 @@ installed using:
.. code-block:: bash
- pip install -r https://github.com/silx-kit/silx/raw/0.8/requirements-dev.txt
+ pip install -r https://github.com/silx-kit/silx/raw/master/requirements-dev.txt
Building from source
@@ -288,32 +290,51 @@ To set the environment variables, type on the command line:
Advanced build options
++++++++++++++++++++++
-In case you want more control over the build procedure, the build command is:
+Advanced options can be set through the following environment variables:
-.. code-block:: bash
-
- python setup.py build
+.. list-table::
+ :widths: 1 4
+ :header-rows: 1
-There are few advanced options to ``setup.py build``:
+ * - Environment variable
+ - Description
+ * - ``SILX_WITH_OPENMP``
+ - Whether or not to compile Cython code with OpenMP support (default: ``True`` except on macOS where it is ``False``)
+ * - ``SILX_FORCE_CYTHON``
+ - Whether or not to force re-generating the C/C++ source code from Cython files (default: ``False``).
+ * - ``SPECFILE_USE_GNU_SOURCE``
+ - Whether or not to use a cleaner locale independent implementation of :mod:`silx.io.specfile` by using `_GNU_SOURCE=1`
+ (default: ``False``; POSIX operating system only).
+ * - ``SILX_FULL_INSTALL_REQUIRES``
+ - Set it to put all dependencies as ``install_requires`` (For packaging purpose).
+ * - ``SILX_INSTALL_REQUIRES_STRIP``
+ - Comma-separated list of package names to remove from ``install_requires`` (For packaging purpose).
+.. note:: Boolean options are passed as ``True`` or ``False``.
-* ``--no-cython``: Prevent Cython (even if installed) from re-generating the C source code.
- Use the one provided by the development team.
-* ``--no-openmp``: Recompiles the Cython code without OpenMP support (default for MacOSX).
-* ``--openmp``: Recompiles the Cython code with OpenMP support (default for Windows and Linux).
-Package the build into a wheel and install it:
+Package the build into a wheel and install it (this requires to install the `build <https://pypa-build.readthedocs.io>`_ package):
.. code-block:: bash
- python setup.py bdist_wheel
+ python -m build --wheel
pip install dist/silx*.whl
To build the documentation, using `Sphinx <http://www.sphinx-doc.org/>`_:
.. code-block:: bash
- python setup.py build build_doc
+ pip install . # Make sure to install the same version as the source
+ sphinx-build doc/source/ build/html
+
+.. note::
+
+ To re-generate the example script screenshots, build the documentation with the
+ environment variable ``DIRECTIVE_SNAPSHOT_QT`` set to ``True``.
+
+Formatting
+++++++++++
+To format the code, use `black <https://black.readthedocs.io>`_.
Testing
+++++++