Skip to main content

Waveform generator for pulse sequences in quantum computing

Project description

Bosing

Documentation Status PyPI - Version

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

  • Rustup for rust toolchain management.
  • maturin 1.7+.
  • uv for python project management.
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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bosing-2.5.0.tar.gz (139.3 kB view details)

Uploaded Source

Built Distributions

bosing-2.5.0-cp39-abi3-win_arm64.whl (474.4 kB view details)

Uploaded CPython 3.9+ Windows ARM64

bosing-2.5.0-cp39-abi3-win_amd64.whl (507.7 kB view details)

Uploaded CPython 3.9+ Windows x86-64

bosing-2.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (708.4 kB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.17+ x86-64

bosing-2.5.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (697.9 kB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.17+ ARM64

bosing-2.5.0-cp39-abi3-macosx_11_0_arm64.whl (622.6 kB view details)

Uploaded CPython 3.9+ macOS 11.0+ ARM64

bosing-2.5.0-cp39-abi3-macosx_10_12_x86_64.whl (648.0 kB view details)

Uploaded CPython 3.9+ macOS 10.12+ x86-64

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

Hashes for bosing-2.5.0.tar.gz
Algorithm Hash digest
SHA256 db46f7329181adc7d10ec1708137192a1af3e752c5a6bee7467d2404817f66f8
MD5 f5fd7b49096b37e3250773e9db1791ae
BLAKE2b-256 bd0174c1e4b134616ae1e945d9d0ce085db66d7c5d062192e1f9d5da6f9e89db

See more details on using hashes here.

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

Hashes for bosing-2.5.0-cp39-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 ea1cc003b9c6ef5aa57be49f7647d32e82f8a13e64beade20bbc57814563d264
MD5 8d41d33661156b5f7aaa23f79c9785fb
BLAKE2b-256 106b988b57f0c5727afa54ba2d89142b4fd2bb2b4f4152690de231bc520ced35

See more details on using hashes here.

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

Hashes for bosing-2.5.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c6bb7ee429da52e224b8d0bb0ce94fa754c4d3637d5829bbcc781aa74b7d5e6b
MD5 b9261271fbb991baef309c6cde5870fd
BLAKE2b-256 00a8c1eed5fa3eb736bc2dbe36796007540b561a195a2b18c6a3808988dd8a6b

See more details on using hashes here.

File details

Details for the file bosing-2.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for bosing-2.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 43374b00e4adfee696cf25e9a139d78d2cc270bdb05ef806107b95ec0defd22a
MD5 f537fa9d2512354ca48b9fef38b92ba3
BLAKE2b-256 dfc94632e5714f98f189494e807e2e92fc8e550d27d9051ccc2780ed4d978241

See more details on using hashes here.

File details

Details for the file bosing-2.5.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for bosing-2.5.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 96025ebc84772cef70535393c9ce1cf80ab339b54a4ba083bff79fe731348662
MD5 36937df9e5b8f236e09ec23a6f6ea49b
BLAKE2b-256 0fdfcc5dd3803e4ca9f27bbc7428220936480f7d850aaf915b964992c6094889

See more details on using hashes here.

File details

Details for the file bosing-2.5.0-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bosing-2.5.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cbe1262ab2c1411895ed7fa94c2a58f8dd27c993ee383f5d07a2ea6d6e6a29fb
MD5 5660a27d2246f21a18608ca4c50a8e35
BLAKE2b-256 a15e6d4c853cd419ce9557312aba95c52a4d0ac7a6ce49af9e60e6d369d486ea

See more details on using hashes here.

File details

Details for the file bosing-2.5.0-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for bosing-2.5.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 39f15abaddc82ff68d2a035a3f57071f73a63c68b0e7ccc1f2aff6c054a4927a
MD5 15976f8ea8cedf0beb592d936e83732a
BLAKE2b-256 1581e7ffac41ae5335fe2b088c1c5f8aa2baceb0704ec071ad7edcee19bcb77e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page