Skip to main content

the Platform for Automated Workflows by SSRL

Project description

Introduction

paws stands for the Platform for Automated Workflows by SSRL. It was conceived to serve as a lean and modular workflow manager for image-like data. While there are many Python packages providing for a wide variety of processing tasks, we are often faced with a need to bring several packages together, and then to add some home-built scripts as well, to complete a data processing workflow. paws was designed to make this process easy, by providing interfaces to an ever-growing number of existing packages and providing easy ways for users to add their own operations. Occasionally, we have need of an operation that is not provided by a Python package that we know of. In these rare cases, we have developed original operations within PAWS, but such operations intend to live in a lower-level package as soon as they are mature.

After a paws workflow has been constructed, it can be easily moved between machines, processes, or threads, so that it can be used equally well for scripting or data processing on personal computers, for data processing behind other graphical applications, or for remote execution on clusters or data centers. paws is currently under development: nothing has been tested or optimized.

Disclaimer: paws is neither the first nor the most sophisticated way to build and manage data processing workflows. It is, however, very modular and extensive. It was built to serve equally well as a pure Python package, as a standalone application, or as a backend for other applications, and it was built to be easily extended to handle new processing workflows.

The core modules of paws are pure Python and depend only on PyYAML. paws exposes a simple API that interacts with these core modules, for users to write scripts or applications based on paws.

The gui modules of paws are built on the PySide Qt bindings, and generally aim to provide functionality equivalent to the pure Python API, along with interactive viewing of the workflow results in real time.

Documentation

The documentation for paws is hosted by readthedocs.org: http://paws.readthedocs.io/en/latest/. This documentation is continually under development. Please contact the developers at paws-developers@slac.stanford.edu if the documentation fails to answer your questions.

API Examples

The following are examples that explore the capabilities of the paws API.

TODO: write new examples to reflect the new API.

GUI Examples

Instructions and examples for using paws through its Qt-based GUI can be found in the documentation. NOTE: this is currently false. TODO: add this to the docs.

To keep the package dependencies low, the PAWS GUI modules are not supported by the PyPI package requirements. Installing PySide (pip install PySide) should provide support for the PAWS GUI. In future releases, a GUI-enabled version may be distributed as a separate package.

Installation

The full paws package is available on PyPI. To install in an existing Python environment, invoke pip: pip install pypaws

All of the dependencies of the paws Operations are not declared as dependencies of paws. This keeps the Python environment relatively lean and avoids installation overhead, but it means that users will have to prepare their environments for the Operations they want to use.

The documentation of paws includes instructions for installing the dependencies of each Operation. NOTE: this is currently false. TODO: add this to the docs.

Attribution

paws was written at SSRL by Chris Tassone’s research group. If you use paws in your published research, a citation would be appreciated.

Before citing paws, it is of primary importance that you cite the authors of the original work that produced your results: this is almost certainly separate from the authors of paws. Citations for your specific operations can be found by looking those operations up in the paws documentation. NOTE: this is currently false. TODO: add this to the docs.

If the documentation is unclear for the operations you need to cite, please contact us at paws-developers@slac.stanford.edu, and we will return the correct citation and fix the missing documentation.

A proper citation for paws itself can be found in the paws documentation. NOTE: this is currently false. TODO: add this to the docs.

Contribution

Contribution to paws is encouraged and appreciated. Whether you are a researcher looking to contribute Operations to the paws library or a software developer looking to contribute to the platform itself, the paws development team would love to hear from you. Get in touch with the paws development team at paws-developers@slac.stanford.edu.

Full details about contributing to paws can be found in our online documentation. NOTE: this is currently false. TODO: add this to the docs.

License

The 3-clause BSD-like license attached to this software can be found in the LICENSE file in the source code root directory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypaws-0.7.13.tar.gz (79.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pypaws-0.7.13-py3-none-any.whl (136.3 kB view details)

Uploaded Python 3

pypaws-0.7.13-py2-none-any.whl (136.3 kB view details)

Uploaded Python 2

File details

Details for the file pypaws-0.7.13.tar.gz.

File metadata

  • Download URL: pypaws-0.7.13.tar.gz
  • Upload date:
  • Size: 79.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pypaws-0.7.13.tar.gz
Algorithm Hash digest
SHA256 c2b3bd01089b6febdf373291c2d65722d5aa829c9e941f256b1e07ee3794e0d9
MD5 4081a00784eb55956b5f281e11eab466
BLAKE2b-256 08b3ff2b83914983131a49910b469306aa0025e91da51b4ae0ba02be2fff3edd

See more details on using hashes here.

File details

Details for the file pypaws-0.7.13-py3-none-any.whl.

File metadata

File hashes

Hashes for pypaws-0.7.13-py3-none-any.whl
Algorithm Hash digest
SHA256 9da0f5d03ef2a5f00396b2beee3fd5900214a993ef6a1d2f457692a0531dfa4e
MD5 650909ff32bf1d4f3b72f3fc95f6ccb9
BLAKE2b-256 55759557277a3fa70254c0365cff90df48805ecf94557738a51aa07b0cfd7fac

See more details on using hashes here.

File details

Details for the file pypaws-0.7.13-py2-none-any.whl.

File metadata

File hashes

Hashes for pypaws-0.7.13-py2-none-any.whl
Algorithm Hash digest
SHA256 843ed0b2a1c4e6d3bdd45f56acd67442fd857042a0065ba86024d4ebb1d75ba0
MD5 1560530a70641cb65bda60c9713d26d4
BLAKE2b-256 ce7238b2bcccf789cfaf7b3735cf00bd7b8c49026b41bf546f5d03f79d055c37

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page