Skip to content

Pulse and control

Qlab

Maintained by BBN-Q

To get started, simply download and unzip the latest release.

MATLABApache-2.0
Qlab illustration

Resource snapshot

Category

Pulse and control

Stars

38

Last pushed

Jul 9, 2021Updated 5y ago

Open issues

8

What it is

Qlab is maintained by BBN-Q and sits in the Pulse and control lane of the open-source quantum map.

To get started, simply download and unzip the latest release.

Last verified by Qtangl generator on May 27, 2026

Who it's for

Hardware-adjacent developers and researchers working closer to experiments, pulse schedules, or lab orchestration.

What you can build or learn

  • See how low-level control stacks differ from higher-level SDKs.
  • Understand where pulse sequencing and experiment orchestration fit in the stack.
  • Learn which projects matter when hardware control is part of the workflow.

License

Apache-2.0

SPDX identifier detected from the repository metadata or license files.

Repository README

Preview from the project README.

Rendered as Markdown inside a scrollable preview. Long READMEs stay contained; expand or open on GitHub for the full document.

~250 words · about 1 min readOpen on GitHub

Qlab measurement and control software

A MATLAB framework for superconducting qubit systems.

Installation

Source Code

To get started, simply download and unzip the latest release. Or, if you want the tip of the development repository, clone a local copy with

git clone git@github.com:BBN-Q/Qlab.git localname --recursive

Navigate to the QLab directory and run the installQLab.m script to setup the preferences. It will also prompt you with the correct folders to add to the path.

The code is loosely organized into

  • analysis/ - routines for data analysis
  • experiment/ - experiment scripts and utilities (example config files in experiment/muWaveDetection/cfg)
  • common/ - instrument drivers, ExpManager, measurement filters, sweeps, and pulse calibration
  • common/util - general utilities, including PatternGen for pulse sequence generation.
  • hardware/ - firmware and low-level drivers for custom BBN hardware

The main workhorse is the ExpManager class which provides a general framework for taking, processing, and saving data. The ExpScripter example shows an example workflow for using ExpManager with a set of instruments, sweeps, and measurements. This example makes use of configuration data stored in JSON files. The PyQLab project contains a GUI for creating these files.

See the wiki for release notes and further help.

All source is distributed under the Apache open source license.

Binaries

We also distribute mex binaries for some accelerated data processing and dll's for the BBN-APS pulse sequencers. These can be found here binaries.

Activity

Latest release

—

Watchers

23

Python support

—

Learn digest

Get monthly updates when library entries change.

Monthly digest: new library entries, updated flagships, and one editorial pick.

Related resources

Keep exploring nearby tools.

m-labs

artiq

A leading-edge control system for quantum information experiments

PythonLGPL-3.0FlagshipArchive

515 stars · Updated 7mo ago

quantumlib

Cirq

Python framework for creating, editing, and running Noisy Intermediate-Scale Quantum (NISQ) circuits.

PythonApache-2.0Flagship

4,971 stars · Updated 3mo ago

XanaduAI

pennylane

PennyLane is an open-source quantum software platform for quantum computing, quantum machine learning, and quantum chemistry.

PythonApache-2.0FlagshipQtangl relevant

3,229 stars · Updated 3mo ago

BBN-Q

pyqgl2

An imperative Quantum Gate Language (QGL) embedded in python.

PythonApache-2.0

9 stars · Updated 4y ago

QISKit

qiskit

Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.

PythonApache-2.0FlagshipQtangl relevant

7,412 stars · Updated 3mo ago

Microsoft

QuantumKatas

Tutorials and programming exercises for learning Q# and quantum computing

Jupyter NotebookMITFlagshipArchive

4,862 stars · Updated 2y ago