Waveform generator for pulse sequences in quantum computing
Project description
Bosing
Waveform generator for superconducting circuits.
Installation
pip install bosing
Documentation
Docs are hosted on Read the Docs
Usage
Examples can be found in examples
.
import matplotlib.pyplot as plt
from bosing import Barrier, Channel, Hann, Play, Stack, generate_waveforms
channels = {"xy": Channel(30e6, 2e9, 1000)}
shapes = {"hann": Hann()}
schedule = Stack(duration=500e-9).with_children(
Play(
channel_id="xy",
shape_id="hann",
amplitude=0.3,
width=100e-9,
plateau=200e-9,
),
Barrier(duration=10e-9),
)
result = generate_waveforms(channels, shapes, schedule)
w = result["xy"]
plt.plot(w[0], label="I")
plt.plot(w[1], label="Q")
plt.legend()
plt.show()
Performance
examples/schedule_stress.py
(0.15 s) vs benches/naive.py
(1.4 s)
CPU: AMD Ryzen 5 5600
Development
Prerequisites
git clone https://github.com/kahojyun/Bosing.git
cd Bosing
uv sync
uv run task makedocs # build docs
uv run task format # format rust and python code
uv run task lint # lint rust and python code
uv run task test # run cargo test and pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file bosing-2.5.0.tar.gz
.
File metadata
- Download URL: bosing-2.5.0.tar.gz
- Upload date:
- Size: 139.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db46f7329181adc7d10ec1708137192a1af3e752c5a6bee7467d2404817f66f8 |
|
MD5 | f5fd7b49096b37e3250773e9db1791ae |
|
BLAKE2b-256 | bd0174c1e4b134616ae1e945d9d0ce085db66d7c5d062192e1f9d5da6f9e89db |
File details
Details for the file bosing-2.5.0-cp39-abi3-win_arm64.whl
.
File metadata
- Download URL: bosing-2.5.0-cp39-abi3-win_arm64.whl
- Upload date:
- Size: 474.4 kB
- Tags: CPython 3.9+, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea1cc003b9c6ef5aa57be49f7647d32e82f8a13e64beade20bbc57814563d264 |
|
MD5 | 8d41d33661156b5f7aaa23f79c9785fb |
|
BLAKE2b-256 | 106b988b57f0c5727afa54ba2d89142b4fd2bb2b4f4152690de231bc520ced35 |
File details
Details for the file bosing-2.5.0-cp39-abi3-win_amd64.whl
.
File metadata
- Download URL: bosing-2.5.0-cp39-abi3-win_amd64.whl
- Upload date:
- Size: 507.7 kB
- Tags: CPython 3.9+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6bb7ee429da52e224b8d0bb0ce94fa754c4d3637d5829bbcc781aa74b7d5e6b |
|
MD5 | b9261271fbb991baef309c6cde5870fd |
|
BLAKE2b-256 | 00a8c1eed5fa3eb736bc2dbe36796007540b561a195a2b18c6a3808988dd8a6b |
File details
Details for the file bosing-2.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: bosing-2.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 708.4 kB
- Tags: CPython 3.9+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43374b00e4adfee696cf25e9a139d78d2cc270bdb05ef806107b95ec0defd22a |
|
MD5 | f537fa9d2512354ca48b9fef38b92ba3 |
|
BLAKE2b-256 | dfc94632e5714f98f189494e807e2e92fc8e550d27d9051ccc2780ed4d978241 |
File details
Details for the file bosing-2.5.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
.
File metadata
- Download URL: bosing-2.5.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 697.9 kB
- Tags: CPython 3.9+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96025ebc84772cef70535393c9ce1cf80ab339b54a4ba083bff79fe731348662 |
|
MD5 | 36937df9e5b8f236e09ec23a6f6ea49b |
|
BLAKE2b-256 | 0fdfcc5dd3803e4ca9f27bbc7428220936480f7d850aaf915b964992c6094889 |
File details
Details for the file bosing-2.5.0-cp39-abi3-macosx_11_0_arm64.whl
.
File metadata
- Download URL: bosing-2.5.0-cp39-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 622.6 kB
- Tags: CPython 3.9+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbe1262ab2c1411895ed7fa94c2a58f8dd27c993ee383f5d07a2ea6d6e6a29fb |
|
MD5 | 5660a27d2246f21a18608ca4c50a8e35 |
|
BLAKE2b-256 | a15e6d4c853cd419ce9557312aba95c52a4d0ac7a6ce49af9e60e6d369d486ea |
File details
Details for the file bosing-2.5.0-cp39-abi3-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: bosing-2.5.0-cp39-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 648.0 kB
- Tags: CPython 3.9+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39f15abaddc82ff68d2a035a3f57071f73a63c68b0e7ccc1f2aff6c054a4927a |
|
MD5 | 15976f8ea8cedf0beb592d936e83732a |
|
BLAKE2b-256 | 1581e7ffac41ae5335fe2b088c1c5f8aa2baceb0704ec071ad7edcee19bcb77e |