Metadata-Version: 2.4
Name: scipion-pyworkflow
Version: 3.11.6
Summary: Workflow platform used in scientific applications, initially developed within the Scipion framework for image processing in Electron Microscopy but generic by design to be applied to any domain.
Author-email: Pablo Conesa <pconesa@cnb.csic.es>, Yunior Fonseca <cfonseca@cnb.csic.es>, "J.M. De la Rosa Trevin" <josemiguel.delarosatrevin@stjude.org>, Roberto Marabini <roberto@cnb.csic.es>, Grigory Sharov <sharov.grigory@gmail.com>, Josue Gomez Blanco <josue.gomez-blanco@mcgill.ca>
License: GNU General Public License v3 (GPLv3)
Project-URL: Homepage, https://scipion.i2pc.es
Project-URL: Repository, https://github.com/scipion-em/scipion-pyworkflow
Project-URL: Issues, https://github.com/scipion-em/scipion-pyworkflow/issues
Keywords: scipion,electron-microscopy,cryo-em,structural-biology,generic-workflow-engine,image-processing,scipion-3.0
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
License-File: LICENSE.txt
Requires-Dist: bibtexparser<=1.4.1
Requires-Dist: psutil<=5.9.6
Requires-Dist: configparser==6.0.0; python_version >= "3.8"
Requires-Dist: matplotlib==3.7.3; python_version == "3.8"
Requires-Dist: matplotlib==3.8.1; python_version >= "3.9"
Requires-Dist: pillow==10.1.0; python_version >= "3.8"
Requires-Dist: numpy==1.24.4; python_version == "3.8"
Requires-Dist: numpy==1.26.1; python_version >= "3.9"
Requires-Dist: requests==2.31.0; python_version >= "3.8"
Requires-Dist: tkcolorpicker2
Requires-Dist: distro<=1.8
Requires-Dist: importlib-metadata<=6.8.0
Requires-Dist: setuptools>=62.6
Requires-Dist: pyperclip==1.9.0
Dynamic: license-file

.. image:: https://img.shields.io/pypi/v/scipion-pyworkflow.svg
        :target: https://pypi.python.org/pypi/scipion-pyworkflow
        :alt: PyPI release

.. image:: https://sonarcloud.io/api/project_badges/measure?project=scipion-em_scipion-pyworkflow&metric=alert_status
        :alt: Quality Gate Status
        :target: https://sonarcloud.io/summary/new_code?id=scipion-em_scipion-pyworkflow

.. image:: https://img.shields.io/sonar/quality_gate/scipion-em_scipion-pyworkflow?server=https%3A%2F%2Fsonarcloud.io
        :target: https://sonarcloud.io/dashboard?id=scipion-em_scipion-pyworkflow
        :alt: SonarCloud quality gate

.. image:: https://img.shields.io/pypi/l/scipion-pyworkflow.svg
        :target: https://pypi.python.org/pypi/scipion-pyworkflow
        :alt: License

.. image:: https://img.shields.io/pypi/pyversions/scipion-pyworkflow.svg
        :target: https://pypi.python.org/pypi/scipion-pyworkflow
        :alt: Supported Python versions

.. image:: https://img.shields.io/pypi/dm/scipion-pyworkflow
        :target: https://pypi.python.org/pypi/scipion-pyworkflow
        :alt: Downloads

.. image:: https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg
        :alt: Contributor Covenant
        :target: https://www.contributor-covenant.org/version/2/0/code_of_conduct/

pyworkflow
==========

**pyworkflow** is a simple workflow platform used in scientific applications. It has been initially developed
within the Scipion framework for image processing in Electron Microscopy.
 
**pyworkflow** allows you to define a working *Domain* by defining the following group of classes:

  * Objects: input/outputs that will be generated by different programs
  * Protocols: special type of Objects that have defined input parameters and will produce some output
  * Viewers: Entities that provide graphical analysis of results.
  * Wizards: Small GUIs that can be develop to help users to select given parameter values.

Development
-----------

To install **pyworkflow** for development purposes, one can do:

.. code-block:: bash

    # Create a clean virtual environment
    conda create -n scipion python=3.8
    conda activate
    git clone https://github.com/scipion-em/scipion-pyworkflow.git
    cd scipion-pyworkflow
    pip install -e .

Running tests
-------------

.. code-block:: bash

    conda activate scipion
    cd scipion-pyworkflow
    export SCIPION_DOMAIN="pyworkflowtests/tests/mock_domain"
    python -m unittest discover

    # Simple project GUI can be shown after running tests:
    python pyworkflow/apps/pw_project.py TestProtocolOutputs

All test projects are located in ~/ScipionUserData/Tests/

API documentation
-----------------

https://scipion-em.github.io/docs/release-3.0.0/api/pyworkflow/pyworkflow.html
