Code Monkey home page Code Monkey logo

sisyphus's Introduction

Sisyphus

A workflow manager in Python.

Installation

Requirements

Sisyphus requires a Python >=3.5 installation with the following additional libraries:

pip3 install -r requirements.txt

Optional if curse based user interface should be used:

pip3 install urwid

Optional if web interface should be used:

pip3 install flask

Optional to compile documentation:

pip3 install Sphinx

Optional if virtual file system should be used:

pip3 install fusepy
sudo addgroup $USER fuse  # depending on your system

Optional for a nicer traceback

pip3 install better_exchook

Setup

  • Add sis to the PATH env, or symlink it, or call it directly.
  • The current directory (pwd), when you run sis, should have a file settings.py (see example dir).
  • Create a directory work in the current dir. All data created while running the jobs will be stored there.
  • Create a directory output in the current dir. All the registered output will end up here.
  • Create a directory alias in the current dir.
  • Run sis --config some_config.py m.

Documentation

Can be found here: sisyphus-workflow-manager.readthedocs.io.

Example

A short toy workflow example is given in the example directory.

To run sisyphus on the example workflow change into the /example directory and run ../sis manager

A large realistic workflow will soon be added.

Development

If you want to commit to the repository make sure to run the unittest and check for PEP 8 by running tox. All need tools can be installed by running:

pip3 install -r requirements-dev.txt

To automatically check for PEP 8 errors before committing run:

pre-commit install

The unittest and flake8 on all relevant files is done by running tox:

tox

License

All Source Code in this Project is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

sisyphus's People

Contributors

critias avatar albertz avatar jacktemaki avatar christopherbrix avatar curufinwe avatar christophmluscher avatar arnenx avatar michelwi avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.