Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Welcome to Qamomile Documentation

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 qamomile

The 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


Use Qamomile


Reference


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}
}