{"id":23380,"library":"broadbean","title":"broadbean","description":"A Python package for easily generating and manipulating signal pulses. Version 0.14.0 supports Python >=3.9, uses src layout, and has been modernized with ruff pre-commits. Release cadence is irregular.","status":"active","version":"0.14.0","language":"python","source_language":"en","source_url":"https://github.com/QCoDeS/broadbean","tags":["signal-pulses","waveform-generation","quantum-computing","data-acquisition"],"install":[{"cmd":"pip install broadbean","lang":"bash","label":"Standard install"}],"dependencies":[{"reason":"Core dependency for array operations and signal generation.","package":"numpy","optional":false}],"imports":[{"note":"BluePrint moved to top-level in recent versions.","wrong":"from broadbean.blueprint import BluePrint","symbol":"BluePrint","correct":"from broadbean import BluePrint"},{"note":"Element is available at top-level.","wrong":"from broadbean.element import Element","symbol":"Element","correct":"from broadbean import Element"},{"note":"Sequence is exported at top-level.","wrong":"from broadbean.sequence import Sequence","symbol":"Sequence","correct":"from broadbean import Sequence"}],"quickstart":{"code":"import numpy as np\nfrom broadbean import BluePrint, Element, Sequence\n\n# Create a simple Gaussian pulse\nbp = BluePrint()\npulse = bp.setSRAmp('gaussian', amp=1, mu=0, sigma=1)\n\n# Add to element\nelem = Element()\nelem.addBluePrint(0, bp)\n\n# Build sequence\nseq = Sequence()\nseq.addElement(0, elem)\n\n# Get waveform\nwaveform = seq.build()\nprint(waveform)","lang":"python","description":"Demonstrates creating a Gaussian pulse blueprint, adding it to an element, building a sequence, and retrieving the waveform."},"warnings":[{"fix":"Use matplotlib or another plotting library to visualize your signals.","message":"BluePrint.plot was removed in v0.11.0. Use external plotting libraries like matplotlib instead.","severity":"breaking","affected_versions":">=0.11.0"},{"fix":"Use matplotlib to plot your own data.","message":"Element.plotElement and Sequence.plotSequence were removed in v0.11.0.","severity":"breaking","affected_versions":">=0.11.0"},{"fix":"Use sequence.build() to get the waveform and plot externally.","message":"Sequence.plotAWGOutput was removed in v0.11.0.","severity":"breaking","affected_versions":">=0.11.0"},{"fix":"Use 'from broadbean import BluePrint' instead of submodule imports.","message":"In v0.10.0, BluePrint was renamed and moved; ensure imports are from broadbean directly.","severity":"gotcha","affected_versions":">=0.10.0"},{"fix":"Use Python 3.9-3.12 for installation.","message":"The package does not install with pip on Python 3.13+ due to lack of support; Python 3.9-3.12 are supported.","severity":"gotcha","affected_versions":">=0.14.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run 'pip install broadbean'","cause":"Library not installed.","error":"ModuleNotFoundError: No module named 'broadbean'"},{"fix":"Upgrade to broadbean >=0.10.0 and use 'from broadbean import BluePrint'","cause":"BluePrint was not a top-level import in older versions (pre-0.10).","error":"ImportError: cannot import name 'BluePrint' from 'broadbean'"},{"fix":"Use external plotting libraries such as matplotlib to visualize the signal.","cause":"BluePrint.plot was removed in broadbean 0.11.0.","error":"AttributeError: 'BluePrint' object has no attribute 'plot'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}