Skip to content
Branch: master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Aug 14, 2015
Aug 13, 2015
Jan 24, 2013

README.md

Travis CI Build Status: Build Status

Introduction

Ducttape is a workflow management system for researchers who heart unix. It allows you to:

  • Write tasks using bash and have dependencies among tasks automatically managed (like Make)
  • Track the versions of the software used, the data used, and even the task descriptions themselves in a very detailed way
  • Quickly and easily run your workflow under multiple input conditions while re-using intermediate results -- without copy-pasting

Want to learn how to use Ducttape? Read TUTORIAL.md.

Want to help develop ducttape? Read HACKING.md.

Quick Start

First, download and unpack the program:

wget http://www.cs.cmu.edu/~jhclark/downloads/ducttape-0.3.tgz
tar -xvzf ducttape-0.3.tgz

Add ducttape to your PATH:

export PATH=$PWD/ducttape-0.3:$PATH

Run a tutorial example:

cd ducttape-0.3/tutorial
ducttape 01-01-hello-world.tape

Or, if you're coming from machine translation, try building the entire cdec tutorial in a single command (see http://www.cdec-decoder.org/guide/tutorial.html):

wget www.cs.cmu.edu/~jhclark/cdec_tutorial.tar.gz
cd cdec_tutorial/
# Run 2 jobs at a time
ducttape tutorial.tape -C tutorial.tconf -j2
# Now view a summary table of the results! (All 1 of them)
ducttape tutorial.tape -C tutorial.tconf summary scores

What's next? Read TUTORIAL.md.

System-wide Installation

wget http://www.cs.cmu.edu/~jhclark/downloads/ducttape-0.3.tgz
tar -xvzf ducttape-0.3.tgz
cd ducttape 0.3
sudo make install

Design Principles

  • Simple things should remain simple.

  • You should be able to start simple. Run. Add complexity. And re-run.

  • Workflow management and data flows have very different design patterns than other sorts of code. Writing them in C++, Java, or XML is annoying.

Updates

To keep updated on the latest versions of ducttape, subscribe to our low-traffic announcement mailing list: https://groups.google.com/group/ducttape-announce

If you have questions about how to use ducttape, please post on StackOverflow using the tag "ducttape": http://stackoverflow.com/questions/ask?tags=ducttape. If you'd like to help other ducttape users or keep up with questions being asked about ducttape, please use http://stackexchange.com/filters/new to create a daily email subscription to StackExchange questions with the tag "ducttape".

To stay in the loop on ducttape development, subscribe to our higher traffic development mailing list: https://groups.google.com/group/ducttape-dev

To keep updated on bleeding edge development of ducttape, subscribe to our higher traffic commits mailing list: https://groups.google.com/group/ducttape-commits

Emacs Mode

To get syntax highlighting in emacs, add a line similar to the following in your ~/.emacs file:

(load "$PATH_TO_DUCTTAPE_HERE/tool-support/emacs/ducttape.el")

Vim Mode

To get syntax highlighting in vim, copy (or symlink) the ducttape's vim syntax highlighting file, like so:

$ mkdir -p ~/.vim/syntax
$ cp $PATH_TO_DUCTTAPE_HERE/tool-support/vim/ducttape.vim ~/.vim/syntax/ducctape.vim

Then add a line to your ~/.vimrc to create an association with .tape files:

syntax on
filetype on
au BufRead,BufNewFile *.tape set filetype=ducttape

Related Projects

Minimal Web UI for ducttape: https://github.com/vchahun/ducttape-web

Better Vim Mode: https://github.com/vchahun/vim-ducttape (This will either replace or be merged with the current vim files)

You can’t perform that action at this time.