Skip to content

python scripting tools for streamlined laboratory automation

License

Notifications You must be signed in to change notification settings

MuqingJiang/labbench

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 tracking of simple device parameters into CSV, HDF, or sqlite based on introspection
  • 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

About

python scripting tools for streamlined laboratory automation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%