Protocol Buffers for QubitOS quantum control kernel
Project description
QubitOS Protocol Buffers
Protocol Buffer definitions for QubitOS - the open-source quantum control kernel.
Overview
This repository contains the protocol buffer definitions that form the contract between QubitOS components:
- quantum.common.v1 - Shared types (TraceContext, Timestamp, Error)
- quantum.pulse.v1 - Pulse specifications (Hamiltonian, PulseShape, GRAPE)
- quantum.backend.v1 - Backend service interface (ExecutePulse, Health, HardwareInfo)
Installation
Python
pip install qubit-os-proto
from quantum.pulse.v1 import pulse_pb2, grape_pb2
from quantum.backend.v1 import service_pb2_grpc
Rust
# Cargo.toml
[dependencies]
qubit-os-proto = "0.1"
use qubit_os_proto::quantum::pulse::v1::PulseShape;
use qubit_os_proto::quantum::backend::v1::quantum_backend_client::QuantumBackendClient;
Structure
quantum/
├── common/v1/
│ └── common.proto # Shared types
├── pulse/v1/
│ ├── hamiltonian.proto # System Hamiltonian specification
│ ├── pulse.proto # Pulse waveform definition
│ └── grape.proto # GRAPE optimization protocol
└── backend/v1/
├── service.proto # QuantumBackend gRPC service
├── execution.proto # Pulse execution messages
└── hardware.proto # Hardware info and health
Build-Time Generation
Code is generated automatically at build time - no manual generation step needed.
Rust: cargo build runs tonic-build via build.rs
Python: pip install . runs grpcio-tools via setup.py
For Contributors
If you need to lint or check protos directly:
# Install buf
brew install bufbuild/buf/buf # macOS
# Lint protos
buf lint
# Format check
buf format -d
# Check for breaking changes (on PRs)
buf breaking --against 'https://github.com/qubit-os/qubit-os-proto.git#branch=main'
Versioning
- Proto packages use path-based versioning:
quantum.pulse.v1,quantum.pulse.v2 - The
proto_versionfield in messages is informational only - Breaking changes require a new package version (v2, v3, etc.)
- Deprecated versions are supported for at least 2 minor releases
Documentation
License
Apache 2.0 - See LICENSE for details.
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 Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qubit_os_proto-0.1.0.tar.gz.
File metadata
- Download URL: qubit_os_proto-0.1.0.tar.gz
- Upload date:
- Size: 24.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
503da328c6bfbc49edd913f63741e44e902874c068a10e7fcd66ba24a7a375a1
|
|
| MD5 |
dfe1282c4df941e30a76920e58b82ef3
|
|
| BLAKE2b-256 |
2d6727c18b364f475abf15bb27493a34a6ac040c616b2496ea24bf2ca46f301e
|
Provenance
The following attestation bundles were made for qubit_os_proto-0.1.0.tar.gz:
Publisher:
release.yaml on qubit-os/qubit-os-proto
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qubit_os_proto-0.1.0.tar.gz -
Subject digest:
503da328c6bfbc49edd913f63741e44e902874c068a10e7fcd66ba24a7a375a1 - Sigstore transparency entry: 927226148
- Sigstore integration time:
-
Permalink:
qubit-os/qubit-os-proto@ef5d9ffaaa7ead49b1330bc42c4a57a585cca727 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/qubit-os
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@ef5d9ffaaa7ead49b1330bc42c4a57a585cca727 -
Trigger Event:
release
-
Statement type:
File details
Details for the file qubit_os_proto-0.1.0-py3-none-any.whl.
File metadata
- Download URL: qubit_os_proto-0.1.0-py3-none-any.whl
- Upload date:
- Size: 36.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46fb8ca294cd596accf6b0496e6ff22764de24678a68c848dac9e83ab42d5fe7
|
|
| MD5 |
7645cb56b73005a4d31c2a7a9abf9e76
|
|
| BLAKE2b-256 |
d347ffcf771dd4f99602ece38de6bd2db68c3939b61fe5742c6555e3ee9f1105
|
Provenance
The following attestation bundles were made for qubit_os_proto-0.1.0-py3-none-any.whl:
Publisher:
release.yaml on qubit-os/qubit-os-proto
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qubit_os_proto-0.1.0-py3-none-any.whl -
Subject digest:
46fb8ca294cd596accf6b0496e6ff22764de24678a68c848dac9e83ab42d5fe7 - Sigstore transparency entry: 927226149
- Sigstore integration time:
-
Permalink:
qubit-os/qubit-os-proto@ef5d9ffaaa7ead49b1330bc42c4a57a585cca727 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/qubit-os
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@ef5d9ffaaa7ead49b1330bc42c4a57a585cca727 -
Trigger Event:
release
-
Statement type: