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 python/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()

If you want to post-process waveforms outside of bosing, you can generate a deduplicated list of envelopes and compact pulse instructions:

import numpy as np

from bosing import Barrier, Channel, Hann, Play, Stack, generate_envelopes_and_instructions

length = 1000
channels = {"xy": Channel(30e6, 2e9, length)}
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),
)

envelopes, instructions = generate_envelopes_and_instructions(channels, shapes, schedule)
inst0 = instructions["xy"][0]
env0 = envelopes[inst0.env_id]
assert env0.dtype == np.float64

Performance

python/examples/schedule_stress.py (0.15 s) vs python/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.7.0.tar.gz (190.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

bosing-2.7.0-cp314-cp314t-win_arm64.whl (502.7 kB view details)

Uploaded CPython 3.14tWindows ARM64

bosing-2.7.0-cp314-cp314t-win_amd64.whl (535.0 kB view details)

Uploaded CPython 3.14tWindows x86-64

bosing-2.7.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (762.3 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

bosing-2.7.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (751.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

bosing-2.7.0-cp314-cp314t-macosx_11_0_arm64.whl (688.5 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

bosing-2.7.0-cp314-cp314t-macosx_10_12_x86_64.whl (714.4 kB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

bosing-2.7.0-cp313-cp313t-win_arm64.whl (501.7 kB view details)

Uploaded CPython 3.13tWindows ARM64

bosing-2.7.0-cp313-cp313t-win_amd64.whl (533.8 kB view details)

Uploaded CPython 3.13tWindows x86-64

bosing-2.7.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (762.9 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

bosing-2.7.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (748.9 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

bosing-2.7.0-cp313-cp313t-macosx_11_0_arm64.whl (687.7 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

bosing-2.7.0-cp313-cp313t-macosx_10_12_x86_64.whl (714.0 kB view details)

Uploaded CPython 3.13tmacOS 10.12+ x86-64

bosing-2.7.0-cp310-abi3-win_arm64.whl (509.5 kB view details)

Uploaded CPython 3.10+Windows ARM64

bosing-2.7.0-cp310-abi3-win_amd64.whl (539.6 kB view details)

Uploaded CPython 3.10+Windows x86-64

bosing-2.7.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (771.2 kB view details)

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

bosing-2.7.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (758.8 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

bosing-2.7.0-cp310-abi3-macosx_11_0_arm64.whl (696.2 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

bosing-2.7.0-cp310-abi3-macosx_10_12_x86_64.whl (723.5 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file bosing-2.7.0.tar.gz.

File metadata

  • Download URL: bosing-2.7.0.tar.gz
  • Upload date:
  • Size: 190.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bosing-2.7.0.tar.gz
Algorithm Hash digest
SHA256 2ca7162c70626ec79701b935105f64241a2ff800ff29911b0e2bba6619c5dcf6
MD5 585fee97ff3e39e4ddebe0c52317e493
BLAKE2b-256 57c681b7743fba12eec1a10a851529ec002d6db3ecc11ff316ddcf6831677b85

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0.tar.gz:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp314-cp314t-win_arm64.whl.

File metadata

  • Download URL: bosing-2.7.0-cp314-cp314t-win_arm64.whl
  • Upload date:
  • Size: 502.7 kB
  • Tags: CPython 3.14t, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bosing-2.7.0-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 2f60eb7c9adc92b6ac78af5f80bcace64ca8af32bceca421110e727317952ee2
MD5 abf1e9f470bf3ed9676f48c4f7b76234
BLAKE2b-256 9028206be632f119c1f08e2922c9bd2c80351a3b527c1aee7df49baf25285ea4

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp314-cp314t-win_arm64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: bosing-2.7.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 535.0 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bosing-2.7.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 399a69a616ef9c5950067128d50ae544232b81e1e3a2692e0acce8b887289e0e
MD5 244b35f5a158bfc6ab27b6c9dc8dbd51
BLAKE2b-256 d7bfc547753a95cbe31b905225556327ef3aa81fe1f2b9010ceeb04cae2694de

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp314-cp314t-win_amd64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for bosing-2.7.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1465db52a51baf3bac2b2b2eab2c8f0f0332a16cece2cb78f942844c2d40ac7a
MD5 77323fb67610d032d6b266ef90da4f45
BLAKE2b-256 eba59b7f1a3f7a4af58e7ab10346685380a16e218503c821e0429cedbab112bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for bosing-2.7.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4e02035240a56ca41223384e662a32623b8c6fc4a463fdf9ae30ce9f8bbd12bd
MD5 a1c555c4ddaf265e079f928a2025a7d2
BLAKE2b-256 81f5831cb4c8aa8843dfd78eaeb8c5b1990745b07b8c8b0004ec3ad8a7a4e1b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bosing-2.7.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05859974f456d14207afc56025fbfe6940fe4ef0e9a7315c3cbd58eb65f0fef6
MD5 6f6676f0dab5adeff9d8e5ceca1245b4
BLAKE2b-256 3cf6d41f840e55361af14ac6fe36ab06b271e2f249561c59af8a6c5e1800a1c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp314-cp314t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for bosing-2.7.0-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c99d526077a91d9fa83762884fe76a456c5e4033709e6ecd794187318f8bcf28
MD5 28baa47da1c0499cc03cfd57279f151e
BLAKE2b-256 7635dafb53cb75949b94b246df450ea29282603dfaec87391c12169ce5449616

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp314-cp314t-macosx_10_12_x86_64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp313-cp313t-win_arm64.whl.

File metadata

  • Download URL: bosing-2.7.0-cp313-cp313t-win_arm64.whl
  • Upload date:
  • Size: 501.7 kB
  • Tags: CPython 3.13t, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bosing-2.7.0-cp313-cp313t-win_arm64.whl
Algorithm Hash digest
SHA256 404269cf14271fcd1e878f8ba02c621b8514b498a222ccc61369e24e9fbaf918
MD5 3f67716492f2dfb336df37e3ac3f5659
BLAKE2b-256 0ecbe7b0dadb64af8fcd8832275d20189fbf6ef05ae38e7a4a0b3ee1e07ca37d

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp313-cp313t-win_arm64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp313-cp313t-win_amd64.whl.

File metadata

  • Download URL: bosing-2.7.0-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 533.8 kB
  • Tags: CPython 3.13t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bosing-2.7.0-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 66cdcddd219122e84f1e42d5533ed1a296a2eb5007776a0f98f9c61c92ddb3d0
MD5 8abaf21c1f7ad6328b0493ac993147f7
BLAKE2b-256 ad8ea6436046c20eadb00a32274cb8b64f15f6ef63c788f450dc8f3296e7d452

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp313-cp313t-win_amd64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for bosing-2.7.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 36f2bb93e22490aad633768d30d44eeac26def02f0c2396f16792ba2b4be4e9c
MD5 7be6ad71505a31cd536a55a0c129f10d
BLAKE2b-256 07cd0d5a8baf337090311fda8c2b47d8e34237760683f524509ae8d605589614

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for bosing-2.7.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a906d287765f3aa05d40952c28864b8233e6350a1e284fbd647fb1dc76d9ba41
MD5 1094896a0a37e676dc453ee193502cda
BLAKE2b-256 d8546205e6d214ece1c9da4135d4dcbf03f053aa4ce86b702267a08539ee6b0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bosing-2.7.0-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 13c346a5eb88a8e4bf7eed05869b9374d296086463d8b59d4abdeca4d53b7083
MD5 9c5fbb9a68624c4814db29525ec0154d
BLAKE2b-256 3cdccea824ff121c42d63b6171f49b965a5c77e6b05024770ad9b4460d3b65d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp313-cp313t-macosx_11_0_arm64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp313-cp313t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for bosing-2.7.0-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a698dc57e779c4c7666ee47863ff5bb2544586f803ee8fd6ad8086a79b18569e
MD5 f907b39ef5a44b94677aac3d9da6b3f0
BLAKE2b-256 0823e097f1a89cdce8c36161a48b1bbf87f1098b3a798a19e1e46a77b06782c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp313-cp313t-macosx_10_12_x86_64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp310-abi3-win_arm64.whl.

File metadata

  • Download URL: bosing-2.7.0-cp310-abi3-win_arm64.whl
  • Upload date:
  • Size: 509.5 kB
  • Tags: CPython 3.10+, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bosing-2.7.0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 d0769dcb3ee38cf413e0d91482ff4d27b4cbe0e5d952aee3536eb7aa023e61c7
MD5 c765b70012486690b4e3849214881f6b
BLAKE2b-256 e61f02e0373a18242f1b154b0cf5ab2270237347dc99d42b77f29ef92cc01288

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp310-abi3-win_arm64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: bosing-2.7.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 539.6 kB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bosing-2.7.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f3618201aa6a8f191958f5a51db2949fdb1568dbec444a39001a70d6dfb33f72
MD5 a32495271b4a8ff06fd63b5a23aa80e8
BLAKE2b-256 f2758caed977ae3bf371ee7c4b2baea5fa753179694fea50df1d5d82e0a262e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp310-abi3-win_amd64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for bosing-2.7.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0abd84a516d6443348676edfb684af1d1d4995f24c2db4adaa2fb8de5d4ea038
MD5 1666ceae7f5165e6efc984becbe51573
BLAKE2b-256 c2c995a8a4ed4238f202f98a6bfbf059e42cb65f2b7bf82a15d382dd74778ac9

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for bosing-2.7.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 89be3443f3b2c9e3e359f7be89517a8b670a23f97045ff1a01777e00f6fbb9c3
MD5 95f7a09c0bfb490ece3b76325140c5a7
BLAKE2b-256 7394ae6439fa7aa16fcec2d60fcabc8879c37e8973949976caa438c2ca3a6214

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for bosing-2.7.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac77ad2b04770cbedd519fc2ac5d46c344cb0e404367ff0b3914cf2ffe494f03
MD5 1c7a0ebf773359896c1912c61f622502
BLAKE2b-256 4bf483e4719a827cc44c33d09aeb35050f36450f4c4039c5ea29d040734a1343

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosing-2.7.0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for bosing-2.7.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e3672dfd6f8fde226e06f5a50dbd2457b7584134f72e4c73f541a4a8454fd4aa
MD5 0820f3f6588e4af9743c448301ce40ab
BLAKE2b-256 1a4634c8c3fd53c9fc31279810bb510b9963018941458ae9138745b8bf996fe8

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosing-2.7.0-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: ci.yml on kahojyun/Bosing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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