Instrbuilder: Easy Instrument Control with Python

Instrbuilder is a Python library for quickly generating easy-to-use instrument high-level “drivers”. The library targets instruments that commuicate with simple read/write of strings, such as SCPI (Standard Commands for Programmable Instruments), and are interfaced to with Python packages such as pyvisa or pyserial.

Instrbuilder is designed to integrate with the Python experiment control and acquisition library created at the NSLS-II. The NSLS-II library supports thousands of users at large national x-ray sources; here we adapt and demonstrate the NSLS-II library for small laboratories (a couple of users).

Instrbuilder allows you to:

  • Generate a new “driver” without writing python code.
  • Automatically test commands and create reports of communication errors or unexpected return values.
  • View help on each command sorted by subsytem.
  • Capture and save complete instrument configurations.
  • Seamlessly utilize the NSLS-II Bluesky experiment control and acquisition library.

Instrbuilder is designed with the data acquisition and management library from NSLS-II in mind. Below are examples that interface instruments controlled by Instrbuilder to Bluesky.

Indices and Tables