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
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
- Automated test logging into CSV, HDF, or sqlite based on introspection of wrapper objects
- Simplified multi-threaded concurrency for lab testing use cases
- Composable and nestable container objects for 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:
- NIST TN 1952: LTE Impacts on GPS (data)
- NIST TN 2069: Characterizing LTE User Equipment Emissions: Factor Screening
- NIST TN 2140: AWS-3 LTE Impacts on Aeronautical Mobile Telemetry (data)
- NIST TN 2147: Characterizing LTE User Equipment Emissions Under Closed-Loop Power Control
- Blind Measurement of Receiver System Noise (data)
- Automated Testbed for Interference Testing in Communications Systems (code, data)
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
- Manual prerequisites:
- python (supported versions are 3.8–3.11)
pip
for package management
- Recommended module installation:
- For python distributions based on anaconda:
pip --upgrade-strategy only-if-needed install labbench
- For other python installations:
pip install labbench
- For python distributions based on anaconda:
Resources
- Source code
- Documentation
- PyPI module page
- ssmdevices: a collection of device wrappers implemented with labbench
Contributing
- Pull requests and bug reports are welcome!
- Inline documentation style convention
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for labbench-0.32.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe672775eb9fb27ba2bedaf2cf8ff4e8226082ff62168a5947532e601476643e |
|
MD5 | 140317c840a7f5d58970fbe077688e08 |
|
BLAKE2b-256 | ad9d85d170d932c249d13d04eede27509e99c0ab961013c19278c6427225ecc7 |