Source code for labbench 0.20 release

This is the source code package for the labbench python module, version 0.20, which is its first public release. The purpose of labbench is to streamline and organize complicated laboratory automation tasks that involve large-scale benchtop automation, concurrency, and/or data management. It is built around a system of wrappers that facilitate robust, concise exception handling, type checking, API conventions, and synchronized device connection through python context blocks. The wrappers also provide convenient new functionality, such as support for automated status displays in jupyter notebooks, simplified threaded concurrency, and automated, type-safe logging to relational databases.Together, these features help to minimize the amount of "copy-and-paste" code that can make your lab automation scripts error-prone and difficult to maintain.The python code that results can be clear, concise, reusable and maintainable, and provide consistent formatting for stored data. The result helps researchers to meet NIST's open data obligations, even for complicated, large, and heterogeneous datasets.Several past and ongoing projects in the NIST Communication Technology Laboratory (CTL) published data that were acquired by automation in labbench. We release it here both for transparency and to invite public use and feedback. Ongoing updates to this source code will be maintained on the NIST github page at https://github.com/usnistgov/labbench.The code was developed in python, documented with the python sphinx package and markdown, and shared through the USNISTGOV organization on GitHub.INSTALLATIONlabbench can run on any computer that supports python 3.6. The hardware requirements are discussed here: https://docs.anaconda.com/anaconda/install/#requirements1. Install your favorite distribution of a python version 3.6 or greater2. In a command prompt, pip install git+https://gitlab.nist.gov/gitlab/ssm/labbench3. (Optional) install an NI VISA [1] runtime, for example this one for windows.USAGEThe source distribution contains detailed information including README.md - documentation to get started using labbench LICENSE.md - license and redistribution information* doc/labbench-api.pdf - complete listing of the module and documentation

Data and Resources

Field Value
accessLevel public
accrualPeriodicity irregular
bureauCode {006:55}
catalog_@context https://project-open-data.cio.gov/v1.1/schema/data.json
catalog_conformsTo https://project-open-data.cio.gov/v1.1/schema
catalog_describedBy https://project-open-data.cio.gov/v1.1/schema/catalog.json
identifier ark:/88434/mds2-2122
issued 2019-10-07
landingPage https://data.nist.gov/od/id/mds2-2122
language {en}
license https://www.nist.gov/open/license
modified 2019-09-10 00:00:00
programCode {006:045}
publisher National Institute of Standards and Technology
resource-type Dataset
source_datajson_identifier true
source_hash 0551de2b1c9aadb9b231c2a6a99cd07b1ae91e9d
source_schema_version 1.1
theme {"Information Technology:Computational science","Information Technology:Data and informatics","Information Technology:Interoperability testing","Information Technology:Mobile","Information Technology:Software research","Advanced Communications:Wireless (RF)"}
Groups
  • AmeriGEOSS
  • National Provider
  • North America
Tags
  • amerigeo
  • amerigeoss
  • ckan
  • geo
  • geoss
  • laboratory-automation
  • national
  • north-america
  • united-states
isopen False
license_id other-license-specified
license_title other-license-specified
maintainer Dan Kuester
maintainer_email daniel.kuester@nist.gov
metadata_created 2025-11-22T07:33:59.362254
metadata_modified 2025-11-22T07:33:59.362259
notes This is the source code package for the labbench python module, version 0.20, which is its first public release. The purpose of labbench is to streamline and organize complicated laboratory automation tasks that involve large-scale benchtop automation, concurrency, and/or data management. It is built around a system of wrappers that facilitate robust, concise exception handling, type checking, API conventions, and synchronized device connection through python context blocks. The wrappers also provide convenient new functionality, such as support for automated status displays in jupyter notebooks, simplified threaded concurrency, and automated, type-safe logging to relational databases.Together, these features help to minimize the amount of "copy-and-paste" code that can make your lab automation scripts error-prone and difficult to maintain.The python code that results can be clear, concise, reusable and maintainable, and provide consistent formatting for stored data. The result helps researchers to meet NIST's open data obligations, even for complicated, large, and heterogeneous datasets.Several past and ongoing projects in the NIST Communication Technology Laboratory (CTL) published data that were acquired by automation in labbench. We release it here both for transparency and to invite public use and feedback. Ongoing updates to this source code will be maintained on the NIST github page at https://github.com/usnistgov/labbench.The code was developed in python, documented with the python sphinx package and markdown, and shared through the USNISTGOV organization on GitHub.INSTALLATIONlabbench can run on any computer that supports python 3.6. The hardware requirements are discussed here: https://docs.anaconda.com/anaconda/install/#requirements1. Install your favorite distribution of a python version 3.6 or greater2. In a command prompt, pip install git+https://gitlab.nist.gov/gitlab/ssm/labbench3. (Optional) install an NI VISA [1] runtime, for example this one for windows.USAGEThe source distribution contains detailed information including* README.md - documentation to get started using labbench* LICENSE.md - license and redistribution information* doc/labbench-api.pdf - complete listing of the module and documentation
num_resources 9
num_tags 9
title Source code for labbench 0.20 release