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. Prerequisites:
    • python (3.9-3.12)
    • an installer for python packages (pip, conda, etc.)
  2. Command-line package install options
    # option 1: preferred option in anaconda based distributions
    conda install conda-forge::labbench
    
    # option 2: preferred in other distributions
    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.41.0.tar.gz (105.4 kB view details)

Uploaded Source

Built Distribution

labbench-0.41.0-py3-none-any.whl (117.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: labbench-0.41.0.tar.gz
  • Upload date:
  • Size: 105.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for labbench-0.41.0.tar.gz
Algorithm Hash digest
SHA256 ceef2edbb1515c59b130d9b8d65d07656829b510b21ed206107187e309e51815
MD5 ecf88987e7d1a9e4b1e95d70bb3a51df
BLAKE2b-256 a7b391fa1ff91099323025ca26eb2149edd6be6f07365f07c87578b5c7cae6d4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: labbench-0.41.0-py3-none-any.whl
  • Upload date:
  • Size: 117.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for labbench-0.41.0-py3-none-any.whl
Algorithm Hash digest
SHA256 20d3dde8fe7d3b09ac9f272d1b494ea84d9a3d7143fcccb7384bd438f18aa2de
MD5 dc63d24cb8517ec5260e38c751994faf
BLAKE2b-256 c9fb2c788491816fc70b955ecf26fa5955ec12cfe7915f941068e66fe725bd61

See more details on using hashes here.

Supported by

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