Skip to content

Underlying pyworkflow module for the Scipion framework

License

Notifications You must be signed in to change notification settings

scipion-em/scipion-pyworkflow

Repository files navigation

PyPI release Quality Gate Status SonarCloud quality gate License Supported Python versions Downloads Contributor Covenant

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:

# 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

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

About

Underlying pyworkflow module for the Scipion framework

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages