Skip to main content

Wetlab protocols that follow the Unix philosophy.

Project description

Stepwise is a program for crafting 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 simple 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.37.0.tar.gz (137.8 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.37.0-py2.py3-none-any.whl (87.9 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: stepwise-0.37.0.tar.gz
  • Upload date:
  • Size: 137.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/35.0 requests/2.28.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.11.4 keyring/23.6.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.13

File hashes

Hashes for stepwise-0.37.0.tar.gz
Algorithm Hash digest
SHA256 65abb325b03906a352d11183a958c614e704468f7ee17e8df917cd332f636eb5
MD5 f86c20f11c3f7d4d3b90efc14807a8de
BLAKE2b-256 59cef04d9d868da758fcf957d5a6fa6076236cb0ae056d6c28e426cc03110019

See more details on using hashes here.

File details

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

File metadata

  • Download URL: stepwise-0.37.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 87.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/35.0 requests/2.28.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.11.4 keyring/23.6.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.13

File hashes

Hashes for stepwise-0.37.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9cd62a071f010057f57ada22bc83bda00dd3718e6f4c506691e2669efe31b47e
MD5 a51234e35e30fe6040c1846fd945c750
BLAKE2b-256 4c37f8b52061ed16bf9a8255da5a2c50b75ca459db24b28ad5c84e0658843dd2

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