--- id: broadbean version: "0.15.0" license: MIT license_treatment: permissive maintenance: active --- # broadbean — Package for easily generating and manipulating signal pulses. License: permissive · Maintenance: active · Downloads: 75.7K/mo ## 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 above — 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 pip install broadbean uv add broadbean 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_current - Install friction: low - Maintenance: active - Downloads: 75.7K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags pulse sequence builder, arbitrary waveform generation, signal pulse composition, AWG pulse design, waveform manipulation library, QCoDeS pulse builder, signal processing pulses, signal-processing, quantum-computing, laboratory-automation [View on SkillFed](https://skillfed.io/packages/broadbean) · [View on PyPI](https://pypi.org/project/broadbean/)