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.32.0.tar.gz (115.4 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.32.0-py2.py3-none-any.whl (73.7 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: stepwise-0.32.0.tar.gz
  • Upload date:
  • Size: 115.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/35.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.12

File hashes

Hashes for stepwise-0.32.0.tar.gz
Algorithm Hash digest
SHA256 e5a0f34eb8ccb0b1d3091c029704f0bd1e0d5d3ac288a946200915756c5703f0
MD5 a320682b8157b6842bf513159efae933
BLAKE2b-256 d33f50183e9f7e43b2077dc310f319bc2453c1d98bc10f936e00de4c7701db53

See more details on using hashes here.

File details

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

File metadata

  • Download URL: stepwise-0.32.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 73.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/35.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.12

File hashes

Hashes for stepwise-0.32.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c1f1f5fea5f3a421cf8c492712051c7485f519c6cda983bbaefd42c5dd65567b
MD5 8a526e732106ed86d024d12c7b3a1a3c
BLAKE2b-256 aa0a7d91e2eae41c05255045b8ad88730dd550d99f3aecafd653f701e8503998

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