installation :::::::::::: xas is library made to link several xas libraries together and define treatment workflows. This is the recommended way to install xas. Step 1 - Create a virtual env ''''''''''''''''''''''''''''' It is recommended to create a python virtual environment to run the workflow tool. Virtual environment might avoid some conflict between python packages. But you can also install it on your 'current' python environment and move to step 1. .. code-block:: bash virtualenv --python=python3 --system-site-packages myvirtualenv Then activate the virtual environment .. code-block:: bash source myvirtualenv/bin/activate .. note:: To quit the virtual environment .. code-block:: bash deactivate Step 2 installation ''''''''''''''''''' You can install from the code source (https://gitlab.esrf.fr/workflow/xas) .. code-block:: bash pip install .[full] Or install it from pypi: .. code-block:: bash pip install xas[full] Launching Orange :::::::::::::::: xas is offering an orange add-on for having a convenient and user friendly way to define a treatment workflow. To launch orange and access the xas add-on you can simply launch Orange2 with the command: .. code-block:: bash orange-canvas .. note:: if your installed a virtual environment do not forget to active it : .. code-block:: bash source myvirtualenv/bin/activate Documentation ::::::::::::: .. code-block:: bash cd doc make html The documentation is build in doc/build/html and the entry point is index.html .. code-block:: bash firefox build/html/index.html .. note:: the build of the documentation need sphinx to be installed. This is not an hard dependency. So you might need to install it. You also should generate documentation to be accessible from Orange GUI (pressing the F1 key). .. code-block:: bash cd doc make htmlhelp To get more information about help from Orange see : :doc:`other/help` accessing documentation from the interface Warning ::::::: the xas GUI is using silx from the silx.gui.qt module which try to use PyQt5, then PySide2, then PyQt4 Order is different for AnyQt, used by Orange3. So some incoherence might append (will bring errors) in the Signal/SLOT connection during widget instantiation. You should be careful about it if more than one Qt binding is available (one quick and durty fix is to change the AnyQt/__init__.py file - 'availableapi' function for example)