the labscript suite » labscript-devices
Plugin architecture for controlling experiment hardware
A modular and extensible plugin architecture to control experiment hardware using the labscript suite.
The labscript suite supports a range of commercial and open-source hardware, and is modular by design. Adding support for new devices involves writing Python functions for a well-defined set of primitives to program instructions, and transition between buffered I/O and manual states. See the documentation for more details on adding new devices.
Supported hardware
The following devices have been implemented in the labscript suite:†
-
AlazarTech PCI Express Digitizers (e.g. ATS9462; PR #41)
-
LightCrafter DMD Digital Micro-mirror Device (PR #43)
-
MOGLabs Agile RF Synthesizers (ARF/XRF)
-
National Instruments Data Acquisition (DAQmx) devices:
- cDAQ-9184 CompactDAQ Chassis
- PCI 6251 Multifunction I/O Device
- PCI 6533/6534 High-Speed Digital Pattern I/O
- PCI-6713 Analog Output Device
- PCI-6733 Analog Output Device
- PCI-DIO-32HS High-Speed Digital I/O
- PCIe-6363 Multifunction I/O Device
- PCIe-6738 Analog Output Device
- PXI-6733 PXI Analog Output Module
- PXIe-6361 PXI Multifunction I/O Module
- PXIe-6535 PXI Digital I/O Module
- PXIe-6738 PXI Analog Output Module
- USB-6008 Multifunction I/O Device
- USB-6229 Multifunction I/O Device
- USB-6343 Multifunction I/O Device
- Quicksyn FSW-0010 Microwave Synthesizer (formerly PhaseMatrix)
Note: Since v2.5.0 (June 2019),
labscript_devices.NI_DAQmxcan be used to automatically generate a labscript device class for any NI-DAQmx device! (PR #56) -
NovaTech DDS9m 170MHz Four Channel Direct Digital Synthesized Signal Generator (see blog post)
-
OpalKelly XEM3001 FPGA Boards used by the Cicero control system (PR #50)
-
PineBlaster Open-source Digital Pattern Generator
-
PrawnBlaster Open-source pseudoclock based on the $4 Raspberry Pi Pico
-
PrawnDO Open-source digital pulse generator based on the $4 Raspberry Pi Pico
-
SpinCore Programmable Pulse Generators and Direct Digital Synthesis
- PulseBlasterDDS-II-300-AWG
- PulseBlasterESR-PRO
- PulseBlasterESR-CompactPCI
- PulseBlaster e.g. SP2 Model: PB24-100-32k
- PulseBlasterUSB
-
Zaber Motion Controllers, e.g. linear translation stages (PR #85)
Supported cameras
The following cameras are implemented by subclassing labscript_devices.Camera, a Python-based camera server which can be controlled directly from blacs.
- FLIR cameras (e.g. FlyCapture 2) using the free PyCapture2 API (PR #71)
- Andor cameras (PR #80)
- Basler pylon (PRs #69 and #74).
- Any camera compatible with National Instruments IMAQdx (PRs #70, #72, #73, #77, #79, #83).
- This includes most cameras compliant with the GigE Vision interface standard, such as Allied Vision cameras.
† We do not endorse the use of any particular hardware.
Installation
labscript-devices is distributed as a Python package on PyPI and Anaconda Cloud, and should be installed with other components of the labscript suite. Please see the installation guide for details.
Metadata
Release files for labscript-devices 3.3.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 | |
|---|---|---|---|
| labscript_devices-3.3.0.tar.gz | 364.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| labscript_devices-3.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 653.7 kB
Release files / labscript_devices-3.3.0.tar.gz
| Download URL | labscript_devices-3.3.0.tar.gz |
|---|---|
| Size | 364.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
67596aaf7d28c4b902c25d6866306eed38a84c57ef0417ef346cd0f701f90888
|
|
BLAKE2b-256 checksum How to use checksums |
e5605e10189b6a115da617bd8ea80d231625949ff418a088bacb782090535e6d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 10, 2025.
Transparency logRelease files / labscript_devices-3.3.0-py3-none-any.whl
| Download URL | labscript_devices-3.3.0-py3-none-any.whl |
|---|---|
| Size | 289.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c49375cf75240482205bcfdbb0089e1dff5b78732a9744fc3c7a69bd77f8fce2
|
|
BLAKE2b-256 checksum How to use checksums |
97a7068dd6e8f2cf122e18872aa7074e7a7b2e3fb07ab20510806893ddddb53d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 10, 2025.
Transparency log