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:
- 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
- Prerequisites:
- python (3.9-3.12)
- an installer for python packages (
pip,conda, etc.)
- 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
- 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 |
Metadata
Release files for labbench 0.46.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| labbench-0.46.0.tar.gz | 108.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| labbench-0.46.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 226.8 kB
Release files / labbench-0.46.0.tar.gz
| Download URL | labbench-0.46.0.tar.gz |
|---|---|
| Size | 108.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8c0b14b198669b0e577055be880c2709e430f9f79451e7a36b44c080d853cea4
|
|
BLAKE2b-256 checksum How to use checksums |
f149d8121b7325a15da75dd3f981b2fedb84a2243f4cbbcc03b27932b73373b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|
Release files / labbench-0.46.0-py3-none-any.whl
| Download URL | labbench-0.46.0-py3-none-any.whl |
|---|---|
| Size | 118.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7a373119399c13c7f4dfacedfdc6d7b165eb8537a2d6d13e1dae7de02876a94b
|
|
BLAKE2b-256 checksum How to use checksums |
a3be3184e36a317e5f89c801bef67afb83f1cb42815dc859a8f536e4b9282c44
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|
Security for labbench 0.46.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.