Skip to main content

Wetlab protocols that follow the Unix philosophy.

Project description

Stepwise is a program for managing scientific protocols. Its central idea is that it should be easy to create large, complex, single-use protocols by piecing together any number of smaller, simpler, multi-use protocols. This modular approach has several benefits:

  1. It’s intuitive. Although it’s good for protocols to contain a fine-grained level of detail (e.g. add 5 µL of solution A, then incubate at 37°C for 15 min), it’s more natural to think about protocols at a higher level (e.g. do PCR, then run a gel).

  2. It’s concise. Having to repeatedly write down similar details for similar experiments is tedious and prone to ambiguities or inconsistencies. Being able to easily reuse protocols eliminates this redundancy without sacrificing any detail.

  3. It’s reproducible. By lowering the barrier to record every relevant detail for every protocol, it’s more likely that others (your future self included) will be able to reproduce your experiments.

More concretely, stepwise is a command-line tool. Protocols are either text files or scripts that produce text output. Most protocols start off as text files, and grow into scripts when they’re used enough to benefit from the extra complexity (e.g. by having optional steps, pre-calculated reagent volumes, etc). Protocols can be combined using Unix pipes, which turns out to be a very powerful and flexible approach. For example, a pipeline can be saved as a shell script and subsequently used as a standalone protocol, even in other pipelines. For more information on writing and using protocols, refer to the documentation.

Since protocols are just text files, they can be easily shared using standard tools like git. Below are links to some curated collections of commonly-used protocols. If you are new to stepwise, these collections make it easy to get started quickly and productively:

https://img.shields.io/pypi/v/stepwise.svg https://img.shields.io/pypi/pyversions/stepwise.svg https://img.shields.io/readthedocs/stepwise.svg https://img.shields.io/github/workflow/status/kalekundert/stepwise/Test%20and%20release/master https://img.shields.io/coveralls/kalekundert/stepwise.svg

Project details


Download files

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

Source Distribution

stepwise-0.6.0.tar.gz (78.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stepwise-0.6.0-py2.py3-none-any.whl (56.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file stepwise-0.6.0.tar.gz.

File metadata

  • Download URL: stepwise-0.6.0.tar.gz
  • Upload date:
  • Size: 78.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.9

File hashes

Hashes for stepwise-0.6.0.tar.gz
Algorithm Hash digest
SHA256 432aeebc477abc070dc6d924176b6a41d6ad56df223ae5ca35a48e1c98829edd
MD5 118bdd0b861ba6d254cf8d24659888f5
BLAKE2b-256 793bae0ec68bc1c78a1502b7d815a2476a2742d3e2c767f1b8a83a55ab017b4f

See more details on using hashes here.

File details

Details for the file stepwise-0.6.0-py2.py3-none-any.whl.

File metadata

  • Download URL: stepwise-0.6.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 56.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.9

File hashes

Hashes for stepwise-0.6.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e160754449403f57ec78ec14293eb08818b8f4aadef5ae69179aaeb3c94272c6
MD5 e60a744f14179df632a408c464b9a903
BLAKE2b-256 da68edb2bbf6e295938f2cbe028b8e1abe55ae454b76cb34604f38dd3a8960b2

See more details on using hashes here.

Supported by

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