Skip to main content

Pipeline management software for clusters.

Project description

Toil is a massively scalable pipeline management system, written entirely in Python. Toil runs as easily on a laptop as it does on a bare-metal cluster or in the cloud, thanks to support for many batch systems, including Grid Engine, Parasol, and a custom Mesos framework.

Toil is robust, and designed to run in highly unreliable computing environments like Amazon’s Spot Market. Towards this goal, Toil does not rely on a distributed file system. Instead, Toil abstracts a pipeline’s global storage as a JobStore that can be stored either locally or on AWS. The result of this abstraction is a robust system that can be resumed even after an unexpected shutdown of every node in the cluster that resulted in the loss of all local data.

Writing a Toil script requires only a knowledge of basic Python, with Toil “Jobs” as the elemental unit of work in a Toil workflow. A Job can dynamically spawn other Jobs as needed, leading to an intuitive and powerful control over the pipeline.

Prerequisites

Python 2.5 < 3.0

pip 7.x

Apache Mesos 0.22.1, if using the Mesos batch system. This is Brew installable on OSX via:

brew install mesos

Git, if cloning from the Toil Github Repository

Installation

Toil uses setuptool’s extras syntax for dependencies of optional features, like the Mesos batch system and the AWS JobStore. To install Toil with these extras, specify the features you would like to include when pip installing:

pip install toil[aws,mesos]

Building & Testing

This is only required if cloning from Git. Running:

make develop

will install Toil in editable mode. You can also specify extras to use in develop mode as follows:

make develop extras=[mesos,aws]

To run the tests, cd into the toil root directory and run:

make test

Finally, running:

make

by itself will print help for testing and building.

Project details


Release history Release notifications | RSS feed

This version

3.0.7

Download files

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

Source Distribution

toil-3.0.7.tar.gz (108.7 kB view details)

Uploaded Source

Built Distribution

toil-3.0.7-py2.7.egg (314.5 kB view details)

Uploaded Source

File details

Details for the file toil-3.0.7.tar.gz.

File metadata

  • Download URL: toil-3.0.7.tar.gz
  • Upload date:
  • Size: 108.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for toil-3.0.7.tar.gz
Algorithm Hash digest
SHA256 db0c5c265aeb657446af0a3c2e26b78c04d35cc92560965314ffc74cc5b0766b
MD5 13cebb4838b54f7a3fce57ac9644c6eb
BLAKE2b-256 80533683755f01cff1f2069b2b6a9baaec6f0b4f3b486d7a19ba933279b13975

See more details on using hashes here.

Provenance

File details

Details for the file toil-3.0.7-py2.7.egg.

File metadata

  • Download URL: toil-3.0.7-py2.7.egg
  • Upload date:
  • Size: 314.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for toil-3.0.7-py2.7.egg
Algorithm Hash digest
SHA256 08c8d87a0f41a5f7de35c2707d7eec8ccdae3510b724d64691c15b0c64744b97
MD5 eef90bfe0576b8a3aa84c80dc0b90e0c
BLAKE2b-256 9e143d02cab50ffd25ad48cc6aeabde4670ef6b7b4c923c69a451b0d582863ad

See more details on using hashes here.

Provenance

Supported by

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