Skip to content

Pulse and control

QGL

Maintained by BBN-Q

Quantum Gate Language (QGL) is a domain specific language embedded in python for specifying pulse sequences.

PythonApache-2.0
QGL illustration

Resource snapshot

Category

Pulse and control

Stars

33

Last pushed

May 21, 2026Updated 3mo ago

Open issues

36

What it is

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

Quantum Gate Language (QGL) is a domain specific language embedded in python for specifying pulse sequences.

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.

~232 words · about 1 min readOpen on GitHub

Quantum Gate Language (QGL)

Build Status

QGL

Overview

Quantum Gate Language (QGL) is a domain specific language embedded in python for specifying pulse sequences.

Our "getting started" documentation is published online from the local file. This documentation includes dependency, installation and basic programming information. The documentation is organized into the following sections:

  1. What is QGL
  2. Dependencies
  3. Installation
  4. Examples
  5. Channels and Qubits
  6. Gate Primitives
  7. Sequences and Concurrent Operations
  8. Pulse Shapes and Waveforms
  9. Compiling and Plotting
  10. Built-in Basic Sequences

Usage

There are a number of QGL example Jupyer notebooks in the QGL/doc folder:

  1. ex1_basic_QGL.ipynb: Basic setup of 'qubit' objects, defining sequences of pulses on qubits, and visualizing these pulse sequences.
  2. ex2_single_qubit_sequences.ipynb: Simple spectroscopy and coherence experiments on a single qubit.
  3. ex3_two_qubit_sequences.ipynb: Examples of two-qubit sequences, including CR gates.

Obviously, we suggest that you start with ex1_basic_QGL.

QGL requires the installation and use of bbndb. bbndb is a shared, versioned, means of storing instrument, qubit, and other configuration information. It is based on the SQLAlchemy framework.

QGL is typically used with Auspex -- an experiment management framework. More sophisticated uses of bbndb, especially usage of a channel library, can be found in the Auspex documentation

Dependencies

Note additional setup information in setup.py. This file is typically used by pip and other package managers.

Read on GitHub

Activity

Latest release

—

Watchers

12

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