Qamomile (pronounced /ˈkæməˌmiːl/, like “chamomile”) is named after the chamomile flower — a symbol of calm and clarity.
What is Qamomile?¶
Qamomile is a quantum programming SDK for writing quantum circuits as typed Python functions. You can run the circuits you build on quantum SDKs such as Qiskit, CUDA-Q, QURI Parts, and qBraid. Furthermore, Qamomile supports symbolic algebraic resource estimation and can estimate resources for circuits containing black-box oracles, even when those circuits cannot be executed directly.
Quantum circuits in Python
Write circuits as typed Python functions, then draw, check, and reuse them like regular code.
One program, many quantum SDKs
Move between Qiskit, CUDA-Q, QURI Parts, and qBraid without rewriting your circuit.
Made for optimization
Connect QUBO and Ising models to quantum algorithms, then implement and run optimization workflows end to end.
Quick start¶
Qamomile can be installed from pip.
pip install qamomileThe following example runs a quantum algorithm with Qamomile. For details, see Your First Quantum Kernel.
import math
import qamomile.circuit as qmc
from qamomile.qiskit import QiskitTranspiler
@qmc.qkernel
def biased_coin(theta: qmc.Float) -> qmc.Bit:
q = qmc.qubit(name="q")
q = qmc.ry(q, theta)
return qmc.measure(q)
# Visualize the kernel and estimate resources before execution
biased_coin.draw(theta=0.6)
est = biased_coin.estimate_resources()
print("qubits:", est.qubits)
print("total gates:", est.gates.total)
# Transpile while keeping theta available as a runtime parameter
transpiler = QiskitTranspiler()
exe = transpiler.transpile(biased_coin, parameters=["theta"])
# Execute with a concrete value for theta
result = exe.sample(
transpiler.executor(),
shots=256,
bindings={"theta": math.pi / 4},
).result()
print(result.results)Get started¶
Installation
Install Qamomile itself, then add quantum SDK integrations such as CUDA-Q, QURI Parts, and qBraid as needed.
Tutorials
Learn the basics of Qamomile step by step, including kernels, parameters, execution, and transpilation.
Use Qamomile¶
Algorithms
Practical guides for implementing and running quantum algorithms such as QAOA and VQE with Qamomile.
Usage
Task-focused guides for individual Qamomile modules, such as BinaryModel.
Integration
Guides for using Qamomile with quantum platforms and external libraries, such as qBraid.
Reference¶
Release Notes
Per-version changelog with feature highlights and breaking changes.
API Reference
How to use the APIs provided by Qamomile, including their arguments and return values.
Citation¶
If you use Qamomile in your research, please cite:
@INPROCEEDINGS{11249901,
author={Huang, Wei-Hao and Matsuyama, Hiromichi and Tam, Wai-Hong and Sato, Keisuke and Yamashiro, Yu},
booktitle={2025 IEEE International Conference on Quantum Computing and Engineering (QCE)},
title={Qamomile: A Cross-SDK Bridge for Quantum Optimization},
year={2025},
volume={02},
pages={516-517},
doi={10.1109/QCE65121.2025.10423}
}