An orchestration layer for heterogeneous compute.
Run quantum-classical workloads across any backend — reproducible, observable, without rolling your own orchestration.
What it is
A workflow engine for QPU + GPU + CPU jobs, with reproducible runs and durable state.
Who it's for
Platform / DevOps teams at HPC centers and enterprises adding quantum to existing infrastructure.
How it runs
Python SDK and CLI. Hardware-agnostic. Multi-vendor backends: IBM, AWS Braket, Azure, NVIDIA.
Submit a circuit. Watch it run. Get a result.
Two decorators. Automatic parallelization. Any quantum or classical backend. The same code targets a QPU, a local simulator, or a GPU-accelerated simulator.
from marqov import task, workflow, bell_state from marqov.executors import LocalExecutor @task async def measure(shots): result = await LocalExecutor().execute(bell_state(), shots=shots) return result.counts @workflow def multi_shot_study(shot_counts): return [measure(n) for n in shot_counts] # all run in parallel dispatch = multi_shot_study([100, 500, 1000, 5000]) # dispatch.run(client) — needs a Temporal worker # Use the Marqov platform or run your own: see marqov/workflows/
# Run a workflow $ marqov run study.py::multi_shot_study \ --arg shot_counts=[100,500,1000,5000] --wait Workflow: multi_shot_study Module: study.py Arguments: {'shot_counts': [100, 500, 1000, 5000]} Connecting to Temporal at localhost:7233... Starting workflow: multi-shot-study-abc12345 Waiting for result... # Check workflow status $ marqov status multi-shot-study-abc12345 Workflow: multi-shot-study-abc12345 Status: RUNNING Run ID: 3f8a2c1d-... Started: 2026-06-03 10:22:00 # Start a worker $ marqov worker start --task-queue marqov Connecting to Temporal at localhost:7233... Starting worker on task queue: marqov Worker running. Press Ctrl+C to stop.
from marqov import Circuit # Fluent API — build circuits naturally circuit = Circuit().h(0).cnot(0, 1).rz(0.5, 0) # Convert to any backend format braket = circuit.to_braket() qiskit = circuit.to_qiskit() qasm = circuit.to_openqasm(version=2) # Import from other frameworks circuit = Circuit.from_qiskit(qiskit_circuit) circuit = Circuit.from_openqasm(qasm_string) # Execute locally — no credentials needed from marqov.executors import LocalExecutor result = await LocalExecutor().execute(circuit, shots=1000) print(result.counts) # {"00": 512, "11": 488}
The Missing Layer in Your Compute Stack
DevOps
FocusSoftware delivery
OwnerDev/SRE teams
GoalUptime & reliability
PracticeCI/CD, monitoring
MLOps
FocusML lifecycle management
OwnerML engineers
GoalReproducibility & scale
PracticeTraining, pipelines
Hybrid Orchestration
MarqovFocusQuantum-classical workloads
OwnerResearch & compute engineers
GoalEfficiency & hardware abstraction
PracticeScheduling, resource optimization
How Marqov fits in your compute stack.
We sit between your workloads and the heterogeneous hardware they need. You write workflows. We handle scheduling, state, and observability across every backend.
Your code
Workflows
Python SDKCLIWorkflow YAML
↓
Marqov
Orchestration layer
SchedulerDurable stateObservabilityReproducibility
↓
Hardware
Backends
IBM QuantumAWS BraketAzure QuantumNVIDIAOn-prem HPCSimulators
What changes when you adopt Marqov.
The alternative is rolling your own orchestration on top of vendor SDKs — which most teams do. Here's what shifts, and where each option still wins.
| Roll your own | Vendor SDK | Marqov | |
|---|---|---|---|
| Multi-backend support | Partial | ✗ Single vendor | ✓ Multi-vendor |
| Durable workflow state | ✗ Build yourself | Partial | ✓ Built in |
| Reproducibility | Partial | ✗ | ✓ First-class |
| Observability | ✗ DIY logging | Partial | ✓ Per-job traces |
| Maintenance burden | High | Medium | Low |
| Vendor lock-in | None | High | None |
| Maturity | As mature as the team that wrote it | Mature | Early / growing |
| Vendor support / SLA | Internal team | Vendor SLA | Best-effort during early access |
| Production deployments | Many in-house | Many | In pilot |
Hardware we run on.
Multi-vendor. Your workloads stay portable.
Quantum
- IBM Quantum
- AWS Braket
- Azure Quantum
- IonQ
- Rigetti
- QuEra
Classical / HPC
- SLURM
- Kubernetes
- Bare-metal HPC
- AWS EC2
- GCP Compute
- Azure VMs
Accelerated
- NVIDIA CUDA
- NVIDIA cuQuantum
- AMD ROCm