Compatibility

Platforms

MicroQuantum is pure Python + NumPy and is platform-independent at the package level. It is designed for Windows, Linux, macOS and BSD; see Platform Support for the per-platform verification status. CI runs the full test matrix on GitHub-hosted Ubuntu Linux, Windows and macOS for Python 3.10 - 3.13:

Python

Status

3.10

Supported

3.11

Supported

3.12

Supported (primary development version)

3.13

Supported

BSD is supported by design (pure Python wheels, no platform-specific binary dependencies) but is not currently covered by native CI runners; the BSD report in Platform Support documents that distinction.

Dependencies

Package

Notes

numpy>=1.20

The only hard runtime dependency.

CuPy (gpu extra)

Optional; activates a GPU-backed array engine via set_array_backend(). Requires a local CUDA installation.

Sphinx / furo / sphinx-autoapi (docs extra)

Optional; only needed to rebuild the reference documentation.

Hard interop

There is no runtime dependency on Qiskit, Cirq, PennyLane or OpenQASM. Interchange is achieved through serialization, not imports:

  • JSON (to_dict / to_json on every result, plan, circuit and problem).

  • OpenQASM 2.x import/export on circuits.

Because the SDK never imports a competing framework, it installs cleanly alongside any other quantum stack in the same environment.

Large-state limits

Statevector / density-matrix backends allocate O(2**n) complex numbers:

10 qubits   ~ 16 KiB per statevector
20 qubits   ~ 16 MiB
30 qubits   ~ 16 GiB

For shallow, wide circuits at 20+ qubits prefer the MPS / tree-tensor-network simulators. Sampling backends trade memory for shots and are the most scalable option for large n.

Versioning contract

  • The public API is stable since 1.0.0 (General Availability) under Semantic Versioning.

  • Backward-compatible additions land as minor versions; breaking changes as major releases.

  • Serialized result schemas are versioned; new fields are additive.