openpulse
Reference OpenPulse AST in Python
Decision gist · record as of 2026-08-14
Yes, if you are working with OpenQASM 3 pulse-level calibration definitions. The package has low install friction, permissive licensing, and no known vulnerabilities. However, note that maintenance is aging—verify that the version meets your needs and check the repository for any recent fixes before relying on it in production.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires openqasm3 and antlr4-python3-runtime as runtime dependencies; Python version compatibility is unspecified in metadata.
- Low friction—pure Python wheel with three lightweight runtime dependencies.
- Maintenance is aging: last release was in 2024-10-01 and the repository shows minimal recent activity, though it remains unarchived.
License · maintenance · safety
Apache 2.0 Software License (permissive) — Apache 2.0 is permissive; you may use, modify, and distribute this package freely in commercial and private projects, provided you include a copy of the license and note any changes.
last release 2024-10-01 (682 days) · last repo commit 2025-05-14 · 6 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 205,188 downloads/mo, #9,592 on PyPI
Alternatives
Verify before relying
pip install openpulse
from openpulse import ast, parser
# Parse a pulse definition string
code = "cal { ... }" # OpenQASM 3 calibration block
result = parser.parse(code)- Whether the package is actively maintained or in long-term stable maintenance mode despite the aging status.
- Python version compatibility details, since requires_python is unspecified in the metadata.
- Whether parser.parse() is the correct API or if a different entry point is needed for typical usage.
What it is and what it does
OpenPulse is a Python reference implementation of the OpenPulse grammar specification for quantum computing. It provides an Abstract Syntax Tree (AST) and parser for pulse-level calibration definitions in OpenQASM 3, specifically handling the `cal` and `defcal` body syntax. The package reuses classical types and statements from openqasm3 and introduces pulse-specific types: `port`, `frame`, and `waveform`. It is structured as a companion to openqasm3, with an AST module for node definitions, a parser module for syntax analysis, and the ability to reuse openqasm3's visitor module for traversal.
The package is intended for quantum computing researchers and developers working with pulse-level control and calibration of quantum hardware. It sits at the intersection of quantum software development and low-level hardware control, enabling users to parse and manipulate pulse definitions programmatically.
Use it for
- Parse OpenQASM 3 calibration files containing pulse definitions for quantum hardware control.
- Build tools that analyze or transform pulse-level quantum circuits and calibration data.
- Develop quantum compiler backends that need to handle pulse grammar and generate calibration code.
- Create validation or linting tools for OpenQASM 3 pulse definitions in quantum software pipelines.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are working with OpenQASM 3 pulse-level calibration definitions.
The package has low install friction, permissive licensing, and no known vulnerabilities. However, note that maintenance is aging—verify that the version meets your needs and check the repository for any recent fixes before relying on it in production.
Install
openpulse on PyPI
Before you install
Low friction—pure Python wheel with three lightweight runtime dependencies. Maintenance is aging: last release was in 2024-10-01 and the repository shows minimal recent activity, though it remains unarchived.
Requires openqasm3 and antlr4-python3-runtime as runtime dependencies; Python version compatibility is unspecified in metadata.
License in practice
Apache 2.0 is permissive; you may use, modify, and distribute this package freely in commercial and private projects, provided you include a copy of the license and note any changes.
Quickstart
pip install openpulse
from openpulse import ast, parser
# Parse a pulse definition string
code = "cal { ... }" # OpenQASM 3 calibration block
result = parser.parse(code)
Verify before relying
- Whether the package is actively maintained or in long-term stable maintenance mode despite the aging status.
- Python version compatibility details, since requires_python is unspecified in the metadata.
- Whether parser.parse() is the correct API or if a different entry point is needed for typical usage.
Package facts
| License | Apache 2.0 Software License permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesantlr4-python3-runtimeopenqasm3importlib-metadata |
| Maintenance | Aging 682 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 205,188 / month, #9,592 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3 :: OnlyTopic :: Scientific/Engineering |
Evidence: openpulse-1.0.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “quantum pulse grammar parser”
- openpulseOpenPulse parses and represents pulse grammar for quantum computing…
- oqpyOQpy generates OpenQASM 3 and OpenPulse programs in Python, providing…
- qm-quaQM-QUA is a Python SDK that implements QUA, a pulse-level language…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also openqasm3 · oqpy · broadbean · qm-qua · cirq-google · qiskit-qasm3-import · qm-octave · qualang-tools · tree-sitter-go · tree-sitter-zig