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.5.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.5.0-py2.py3-none-any.whl (56.4 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: stepwise-0.5.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.5.0.tar.gz
Algorithm Hash digest
SHA256 96dee265e628a1296c90799616ed041c10b4fbb9d3065da74cb1c76f88a40e4f
MD5 bae899e727203ed4602a497004c1a131
BLAKE2b-256 ebba17eef2197513a32433c9435c94edc87360506168c08a5737b599b35465c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: stepwise-0.5.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 56.4 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.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a464b2b699c87a78ff86e61ec5908f34c8e0fab73c0c63b5dc61b39dc8429e45
MD5 a9c294e9223523448d8bc0a7d7d3792f
BLAKE2b-256 06c9c576952370c170af896327587ca487b712ad9ea903a9dbad58cdbd10de29

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