Skip to main content

The `labbench` module provides API tools to support python scripting for laboratory automation.The goal is to simplify the process of developing an experimental procedure into clear, concise, explainable, and reusable code.

Project description

PyPI Latest Release DOI License Downloads Last commit Test coverage

The labbench module provides API tools to support python scripting for laboratory automation. The goal is to simplify the process of developing an experimental procedure into clear, concise, explainable, and reusable code. These characteristics are necessary to scale up the complexity of large testbeds and experiments.

Features include:

  • Expedited development of python device wrappers, including specialized backends for pythonnet, pyvisa, pyserial, subprocess, telnetlib
  • Descriptor-driven development: minimize the distance between programming manuals and python wrappers and apply calibrations transparently
  • Automated logging of simple device parameters into root CSV or sqlite root tables, pointing to relational data and metadata in json and plain-text
  • Simplified multi-threaded concurrency tools for lab applications
  • Container objects for nesting device wrappers and snippets of test procedures
  • Support for running experiments based on tables of test conditions

The source code was developed at NIST to support complex measurement efforts. Examples of these projects include:

Status

The project is under ongoing development

  • API changes have slowed, but deprecation warnings are not yet being provided
    • Suggest pinning labbench dependency to an exact version
  • Parts of the documentation are in need of updates, and others have not yet been written

Installation

  1. Ensure prerequisites are installed:
    • python (3.9-3.12)
    • pip for package management
  2. Recommended module installation:
    • For python distributions based on anaconda:
      pip --upgrade-strategy only-if-needed install labbench
      
    • For other python installations:
      pip install labbench
      

Resources

Contributing

Contributors

Name Contact
Dan Kuester (maintainer) daniel.kuester@nist.gov
Shane Allman Formerly with NIST
Paul Blanchard Formerly with NIST
Yao Ma yao.ma@nist.gov

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

labbench-0.35.0.tar.gz (226.6 kB view details)

Uploaded Source

Built Distribution

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

labbench-0.35.0-py3-none-any.whl (119.0 kB view details)

Uploaded Python 3

File details

Details for the file labbench-0.35.0.tar.gz.

File metadata

  • Download URL: labbench-0.35.0.tar.gz
  • Upload date:
  • Size: 226.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for labbench-0.35.0.tar.gz
Algorithm Hash digest
SHA256 1231780c4f6c1bebbb6b00d090a1cd6d3a07e976d018b4caeb411693ea8a2cb1
MD5 79a83e23aaa10979656282a7002bfa15
BLAKE2b-256 ec2999c3a8f84035ae3790fc3530f33c09c093f170761ca282eda8f0244935d9

See more details on using hashes here.

File details

Details for the file labbench-0.35.0-py3-none-any.whl.

File metadata

  • Download URL: labbench-0.35.0-py3-none-any.whl
  • Upload date:
  • Size: 119.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for labbench-0.35.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d45221ab3b947c6b838bd60f6c6728f3f94b90b1b79674defd9333608e8d043b
MD5 d8119274b23151b2fd977962d6aaf8d0
BLAKE2b-256 e6dfe9957913a86d1c61ff110197d1d62d69eea803b21d6e254977e91fee3205

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