Skip to main content

Workflow Python Manager for Reproducible Science

Project description

https://img.shields.io/pypi/v/wopmars.svg https://img.shields.io/pypi/pyversions/wopmars.svg https://readthedocs.org/projects/wopmars/badge/?version=latest https://github.com/aitgon/wopmars/workflows/CI/badge.svg https://codecov.io/gh/aitgon/wopmars/branch/master/graph/badge.svg https://static.pepy.tech/personalized-badge/wopmars?period=month&units=international_system&left_color=black&right_color=blue&left_text=Downloads

WopMars is a database-driven workflow manager written in python similar to GNU Makefile or Snakemake. The difference is that the definition file of WopMars takes into account input/output SQLITE table defined as python paths to SQLAlchemy models.

You can install the latest WopMars version via “pypi”:

pip install wopmars

Run a quick example:

wopmars example
cd example
pip install -e .
wopmars -D sqlite:///db.sqlite -w Wopfile.yml -v

If there were not errors, you can look at the content of the sqlite db.

$ sqlite3 db.sqlite '.tables'

Piece                            wom_TableInputOutputInformation
PieceCar                         wom_TableModificationTime
wom_Execution                    wom_ToolWrapper
wom_FileInputOutputInformation   wom_TypeInputOrOutput
wom_Option

$ sqlite3 db.sqlite "select * from Piece limit 5"

1|UC8T9P7D0F|wheel|664.24
2|2BPN653B9D|engine|550.49
3|T808AHY3DS|engine|672.09
4|977FPG7QJZ|bodywork|667.23
5|KJ6WPB3N56|engine|678.83

The WopMars documentation with user guide and API reference is hosted at Read The Docs.

Supported by

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