Skip to main content

Protocol Buffers for QubitOS quantum control kernel

Project description

QubitOS Protocol Buffers

CI License

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_version field 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


Download files

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

Source Distribution

qubit_os_proto-0.1.0.tar.gz (24.8 kB view details)

Uploaded Source

Built Distribution

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

qubit_os_proto-0.1.0-py3-none-any.whl (36.1 kB view details)

Uploaded Python 3

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

Hashes for qubit_os_proto-0.1.0.tar.gz
Algorithm Hash digest
SHA256 503da328c6bfbc49edd913f63741e44e902874c068a10e7fcd66ba24a7a375a1
MD5 dfe1282c4df941e30a76920e58b82ef3
BLAKE2b-256 2d6727c18b364f475abf15bb27493a34a6ac040c616b2496ea24bf2ca46f301e

See more details on using hashes here.

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

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

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

Hashes for qubit_os_proto-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 46fb8ca294cd596accf6b0496e6ff22764de24678a68c848dac9e83ab42d5fe7
MD5 7645cb56b73005a4d31c2a7a9abf9e76
BLAKE2b-256 d347ffcf771dd4f99602ece38de6bd2db68c3939b61fe5742c6555e3ee9f1105

See more details on using hashes here.

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

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