matteomancini / GiraffeTools

a Graphical Interface for Reproducible Analysis oF workFlow Experiments

Home Page:https://giraffe.tools

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Codacy Badge Build Status codecov

https://giraffe.tools

GiraffeTools

GiraffeTools: Tools for Graphical Interface for Reproducible Analysis oF workFlow Experiments

GiraffeTools provides tools for interactive workflow development Currently the main tool is the Porcupine workflow editor. You can visually build a node graph that represents a workflow and read and write it from and to GitHub.

Note: this software was originally made for neuroimaging pipeline analysis, but is now expanding to different toolboxes

Intended usage

Set up any GitHub repository as a GiraffeTools project by putting a Giraffe.yml file in the root of the project. GiraffeTools reads information straight from an analysis repository, just go to: https://giraffe.tools/github/ [username] / [repository] / [branch] to find a dashboard of the project. A Giraffe.yml looks like this:

# list of tools
tools:
  workflow:
    # A file in your repository to which the UI state is saved
    # Currently only a single file is supported
    files:
      - GIRAFFE/keras.pork
    # A list of nodes to load into the editor
    # The path is either relative to the root or a full URL
    nodes:
      - https://raw.githubusercontent.com/TimVanMourik/keras/giraffe-tools/keras_nodes.json
    # You can load your own JavaScript code generator. Documentation will follow soon
    # The path is either relative to the root or a full URL
    grammars:
      - language: TvM
        script: GIRAFFE/test.js
        format: matlab

Example: https://giraffe.tools/github/TimVanMourik/SomeGiraffeExample/master

Development

Download this repository with submodules, such that the code from linked repositories are included:

git clone https://github.com/GiraffeTools/GiraffeTools --recursive

or

git clone https://github.com/GiraffeTools/GiraffeTools
git submodule update --init

The website can locally be deployed with Docker and docker-compose. Starting local development is as easy as typing in the command line:

docker-compose up

If you want to customise your settings, specify this in a .env file in the root of the project. You can start by renaming the env.sample.

You can run the site in three different modes, MODE=watch|development|production. Default is watch. This automatically enables hot reloading and updates your browser pages upon saving a source file. In development mode, you can still use debug statement, but there is no 'hot reloading'. The production mode is the way it's gonna be like online.

Slack

Developers and users alike, join us on Slack!

Contributing

Any contributions are much appreciated! In the form of issues about bugs, feature requests, enhancement ideas, or even pull requests! If you like more details, you can find them in CONTRIBUTING.md.

About

a Graphical Interface for Reproducible Analysis oF workFlow Experiments

https://giraffe.tools

License:GNU General Public License v3.0


Languages

Language:JavaScript 80.9%Language:Python 14.1%Language:CSS 3.1%Language:HTML 1.1%Language:Shell 0.6%Language:Dockerfile 0.2%