API Reference¶
This section provides comprehensive API documentation for QubitOS.
Python API¶
The core Python package qubitos provides four main modules:
| Module | Description |
|---|---|
qubitos.client |
HAL client for communicating with quantum backends |
qubitos.pulsegen |
Pulse generation and GRAPE optimization |
qubitos.calibrator |
Calibration data loading and management |
qubitos.validation |
Validation utilities for quantum data |
Quick Import Reference¶
# Client
from qubitos.client import HALClient, HALClientSync
# Pulse generation
from qubitos.pulsegen import GrapeOptimizer, GrapeConfig, generate_pulse
from qubitos.pulsegen.hamiltonians import (
parse_pauli_string,
get_target_unitary,
build_hamiltonian,
)
# Calibration
from qubitos.calibrator import CalibrationLoader, load_calibration
# Validation
from qubitos.validation import (
validate_hamiltonian,
validate_pulse,
validate_unitary,
)
Interface APIs¶
QubitOS exposes multiple interface layers for flexibility:
| Interface | Use Case | Documentation |
|---|---|---|
| CLI | Shell scripts, interactive use | CLI Reference |
| REST API | Web integration, language-agnostic | REST API |
| gRPC API | High-performance, low-latency | gRPC API |
Architecture Overview¶
┌─────────────────────────────────────────────────────────┐
│ Python Client │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────────┐ │
│ │ client │ │pulsegen │ │calibrator│ │ validation │ │
│ └────┬────┘ └────┬────┘ └────┬────┘ └─────────────┘ │
└───────┼────────────┼────────────┼───────────────────────┘
│ │ │
│ gRPC │ Pure Python│ Pure Python
▼ │ │
┌───────────────┐ │ │
│ HAL Server │◄───┴────────────┘
│ (Rust) │
└───────┬───────┘
│
▼
┌───────────────┐
│ Backends │
│ (QuTiP, HW) │
└───────────────┘
Versioning¶
QubitOS follows Semantic Versioning:
- 0.x.x: Development phase, API may change
- 1.x.x: Stable API, backwards compatible minor releases
Current version: 0.5.0
Type Annotations¶
All public APIs are fully type-annotated. Use mypy or your IDE for type checking:
Error Handling¶
QubitOS defines specific exception types for each module:
from qubitos.client import HALClientError
from qubitos.calibrator import CalibrationError
from qubitos.validation import ValidationError
from qubitos.pulsegen import GrapeConfig # Raises ValueError for invalid config
All exceptions inherit from Python's built-in Exception class.