skillfed

broadbean

Package for easily generating and manipulating signal pulses.

broadbean v0.15.0 75.7K downloads/30d#14,686 on PyPI10
Permissive license MIT Active released

What it is and what it does

Broadbean is a pulse-building library that lets you compose and manipulate signal sequences declaratively—specify a square wave, a ramp, a sine, and a delay as easily as describing them in words, then modify parameters like frequency without rebuilding from scratch. It integrates with QCoDeS for laboratory automation and works with Tektronix 5000/7000 series arbitrary waveform generators, but also functions as a standalone signal-processing tool.

The package wraps numpy and matplotlib for numerical computation and visualization, with schema for validation and versioningit for version management. It targets Python 3.12+ and is actively maintained. A companion module called ripasso handles frequency filtering and compensation, factored out for potential reuse in other contexts.

Use it for:

  • Design complex pulse sequences for quantum computing or condensed-matter experiments with QCoDeS integration
  • Generate and visualize arbitrary waveforms for Tektronix AWG instruments without manual low-level specification
  • Compose repeatable pulse patterns and modify them parametrically (e.g., sweep frequency) without rewriting sequences
  • Apply frequency filtering and compensation to pulse signals via the ripasso submodule
  • Prototype signal-processing workflows in Python before deployment to hardware

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Broadbean composes and manipulates pulse sequences for arbitrary waveforms, designed for use with QCoDeS and Tektronix AWG drivers but also works standalone.

Yes, if you work with pulse sequences or arbitrary waveform generation—especially in a QCoDeS lab environment or with Tektronix AWGs. The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. The Python 3.12+ requirement is a hard constraint; if you're on an earlier version, you cannot use it.

Install

broadbean on PyPI

pip

pip install broadbean

uv

uv add broadbean

poetry

poetry add broadbean

Installing broadbean

Before you install

Low install friction with a pure-wheel distribution. Active maintenance with recent commits and a stable release cycle. Requires Python 3.12 or later.

License in practice

MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute the package freely provided you include the license notice.

Quickstart

pip install broadbean
import broadbean
# Compose a pulse sequence: square wave, then ramp, then sine
pulse = broadbean.Pulse(...)  # See docs for full API

Requires Python 3.12 or later; earlier versions are not supported.

Verify before relying

  • Whether ripasso (the frequency filtering submodule) is independently useful outside pulse building workflows
  • Performance characteristics when composing very large or complex pulse sequences
  • Compatibility details with specific Tektronix AWG models beyond the 5000/7000 series

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.12)
Install friction low — pure-Python wheel
Runtime dependencies 4 — numpy, matplotlib, schema, versioningit
Maintenance actively maintained — 95 days since the last release
Last repo commit
First released
Downloads 75,688/month — #14,686 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: broadbean-0.15.0-py3-none-any.whl

Keywords: Pulsebuilding, signal, processing, arbitrary, waveforms

Development Status :: 4 - BetaIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/Engineering

Tags

pulse sequence builderarbitrary waveform generationsignal pulse compositionAWG pulse designwaveform manipulation libraryQCoDeS pulse buildersignal processing pulses
signal-processingquantum-computinglaboratory-automation

More Scientific/Engineering packages