Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

qdk

The Quantum Development Kit (QDK) provides a single, cohesive Python entry point for compiling, simulating, and estimating resources for quantum programs (Q# and OpenQASM), with optional extras for visualization, cloud workflows, and interoperability with Qiskit and Cirq.

Install

To install the core functionality, which include Q# & OpenQASM simulation, compilation, and resource estimation support:

pip install qdk

To include the Jupyter extra, which adds visualizations using Jupyter Widgets in the qdk.widgets submodule and syntax highlighting for Jupyter notebooks in the browser:

pip install "qdk[jupyter]"

To add the Azure Quantum extra, which includes functionality for working with the Azure Quantum service in the qdk.azure submodule:

pip install "qdk[azure]"

For Qiskit integration, which exposes Qiskit interop utilities in the qdk.qiskit submodule:

pip install "qdk[qiskit]"

For Cirq integration, which exposes Cirq interop utilities in the qdk.cirq submodule:

pip install "qdk[cirq]"

To easily install all the above extras:

pip install "qdk[all]"

Quick Start

from qdk import qsharp

result = qsharp.run("{ use q = Qubit(); H(q); return MResetZ(q); }", shots=100)
print(result)

To use widgets (installed via qdk[jupyter] extra):

from qdk.qsharp import eval, run
from qdk.widgets import Histogram

eval("""
operation BellPair() : Result[] {
    use qs = Qubit[2];
    H(qs[0]);CX(qs[0], qs[1]);
    MResetEachZ(qs)
}
""")
results = run("BellPair()", shots=1000, noise=(0.005, 0.0, 0.0))
Histogram(results)

Public API Surface

Submodules:

  • qdk.qsharp – Q# interpreter functions: init, eval, run, compile, circuit, estimate, dump_machine, dump_circuit, dump_operation, and related types.
  • qdk.openqasm – OpenQASM compilation and execution.
  • qdk.estimator – resource estimation utilities.
  • qdk.simulation – noise-aware simulation utilities: NeutralAtomDevice, NoiseConfig, run_qir, DensityMatrixSimulator, StateVectorSimulator, and related types.
  • qdk.code – dynamic namespace populated at runtime with user-defined Q# and OpenQASM callables.
  • qdk.qre – quantum resource estimation v3: estimate, Application, Architecture, ISA, ISATransform, and related types.
  • qdk.applications – domain-specific quantum applications (e.g. qdk.applications.magnets).
  • qdk.widgets – Jupyter widgets for visualization (requires the qdk[jupyter] extra).
  • qdk.azure – Azure Quantum service integration (requires the qdk[azure] extra).
  • qdk.qiskit – Qiskit interop: QSharpBackend, NeutralAtomBackend, and related types (requires the qdk[qiskit] extra).
  • qdk.cirq – Cirq interop: NeutralAtomSampler (requires the qdk[cirq] extra).

Top level exports

For convenience, the following helpers and types are also importable directly from the qdk root (e.g. from qdk import code, Result). Algorithm execution APIs (like run / estimate) remain under qdk.qsharp or qdk.openqasm.

Symbol Type Origin Description
code module qdk.code Exposes operations defined in Q# or OpenQASM
init function qdk.qsharp.init Initialize/configure the QDK interpreter (target profile, options).
set_quantum_seed function qdk.qsharp.set_quantum_seed Deterministic seed for quantum randomness (simulators).
set_classical_seed function qdk.qsharp.set_classical_seed Deterministic seed for classical host RNG.
dump_machine function qdk.qsharp.dump_machine Emit a structured dump of full quantum state (simulator dependent).
Result class qdk.qsharp.Result Measurement result token.
TargetProfile class qdk.qsharp.TargetProfile Target capability / profile descriptor.
StateDump class qdk.qsharp.StateDump Structured state dump object.
ShotResult class qdk.qsharp.ShotResult Multi-shot execution results container.
PauliNoise class qdk.qsharp.PauliNoise Pauli channel noise model spec.
DepolarizingNoise class qdk.qsharp.DepolarizingNoise Depolarizing noise model spec.
BitFlipNoise class qdk.qsharp.BitFlipNoise Bit-flip noise model spec.
PhaseFlipNoise class qdk.qsharp.PhaseFlipNoise Phase-flip noise model spec.
Context class qdk.Context Isolated Q# and OpenQASM interpreter context for independent sessions.

Configuration Map

You can provide configuration at initialization time as a Python dictionary.

In Python, pass qdk_config: dict[str, int | float | str | bool] to Context(...). If qdk_config is omitted, the configuration map is empty. The map is immutable after initialization. To use different configuration values, create a new Context.

In Q#, read values with Std.Core.ConfigValue(name, defaultValue). In Q# code, config values are immutable: in the same program, repeated calls with the same (name, defaultValue) produce the same result.

Supported types: int, float, str, and bool (corresponding to Int, Double, String and Bool in Q#). The type of each value in qdk_config must match the type of its corresponding default value.

Example:

import qdk
context = qdk.Context(qdk_config={"experiment_name": "baseline", "shots": 1000})
assert context.eval('Std.Core.ConfigValue("experiment_name", "")') == "baseline"
assert context.eval('Std.Core.ConfigValue("shots", 100)') == 1000
assert context.eval('Std.Core.ConfigValue("noise_level", 0.01)') == 0.01

Telemetry

This library sends telemetry. Minimal anonymous data is collected to help measure feature usage and performance. All telemetry events can be seen in the source file telemetry_events.py.

To disable sending telemetry from this package, set the environment variable QDK_PYTHON_TELEMETRY=none

Support

For more information about the Microsoft Quantum Development Kit, visit https://aka.ms/qdk.

Contributing

Q# welcomes your contributions! Visit the Q# GitHub repository at [https://github.com/microsoft/qdk] to find out more about the project.

Release files for qdk 1.31.1.dev0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for qdk 1.31.1.dev0
File
qdk-1.31.1.dev0-cp310-abi3-win_arm64.whl CPython 3.10 abi3 Windows ARM64 Details
qdk-1.31.1.dev0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
qdk-1.31.1.dev0-cp310-abi3-manylinux_2_35_x86_64.whl CPython 3.10 abi3 Linux glibc 2.35+ x86-64 Details
qdk-1.31.1.dev0-cp310-abi3-manylinux_2_35_aarch64.whl CPython 3.10 abi3 Linux glibc 2.35+ ARM64 Details
qdk-1.31.1.dev0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
qdk-1.31.1.dev0-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 43.0 MB

Release files / qdk-1.31.1.dev0-cp310-abi3-win_arm64.whl

Download URL qdk-1.31.1.dev0-cp310-abi3-win_arm64.whl
Size 7.5 MB
Tags CPython 3.10 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
bec9bde11a6279fd210dd286e5f8e1c5174924a6ac7c5afc60274ea8ccf14187
BLAKE2b-256 checksum
How to use checksums
77b14b7c3685b0553dbc6fd7fcab375e57b4afda2278c89e7ad2cec59751ae4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via RestSharp/106.13.0.0

Release files / qdk-1.31.1.dev0-cp310-abi3-win_amd64.whl

Download URL qdk-1.31.1.dev0-cp310-abi3-win_amd64.whl
Size 8.1 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
13e3282336172a4ccc44c770932904592ee3a8dc91f65e9612f35683728184a6
BLAKE2b-256 checksum
How to use checksums
c56ac24e817ccedb4210fd4e3f2aafbb8e65be55ce86d1ec4b6e29c84e3dabf9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via RestSharp/106.13.0.0

Release files / qdk-1.31.1.dev0-cp310-abi3-manylinux_2_35_x86_64.whl

Download URL qdk-1.31.1.dev0-cp310-abi3-manylinux_2_35_x86_64.whl
Size 7.6 MB
Tags CPython 3.10 Linux glibc 2.35+ x86-64 abi3
SHA-256 checksum
How to use checksums
16a00e703e396dd45f9356b4e0e2ef835d5c303bfb09f6f6a04816a1b3745c44
BLAKE2b-256 checksum
How to use checksums
265c589da4d46624636f12c5fb1b7d28cc99aa3bfa0ebe5b29434dc8c9341edc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via RestSharp/106.13.0.0

Release files / qdk-1.31.1.dev0-cp310-abi3-manylinux_2_35_aarch64.whl

Download URL qdk-1.31.1.dev0-cp310-abi3-manylinux_2_35_aarch64.whl
Size 6.9 MB
Tags CPython 3.10 Linux glibc 2.35+ ARM64 abi3
SHA-256 checksum
How to use checksums
d6ed398ed805c43fb5c232cdc18cc6645a5b190e6e27c3cb7fff1b1858efe2e9
BLAKE2b-256 checksum
How to use checksums
3008114994d7d3bdad3544a39a9a7a3fed698c8f4b9bc972c4c0699960901c42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via RestSharp/106.13.0.0

Release files / qdk-1.31.1.dev0-cp310-abi3-macosx_11_0_arm64.whl

Download URL qdk-1.31.1.dev0-cp310-abi3-macosx_11_0_arm64.whl
Size 6.3 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
aacad3bbabd55a1da080e2182d6135f8bb6508297281fd9a1590316a9980dc81
BLAKE2b-256 checksum
How to use checksums
c1a525ee6af8ac978e945c308e687011fef0e7de48499ce7aaebd23a51d6002d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via RestSharp/106.13.0.0

Release files / qdk-1.31.1.dev0-cp310-abi3-macosx_10_12_x86_64.whl

Download URL qdk-1.31.1.dev0-cp310-abi3-macosx_10_12_x86_64.whl
Size 6.7 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
d499cacff91775ff4adac80a06198d1619deda4a73e8079e482ea257730f72f4
BLAKE2b-256 checksum
How to use checksums
b2a711eadd516b127e3d84729b6ae55de9b08bbeacfe7ad66a0eedef6c3bddf8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via RestSharp/106.13.0.0

Release history Release notifications | RSS feed

1.32.3

6 release files

This release

1.31.1.dev0 This release

6 release files

1.31.0

6 release files

1.29.1

6 release files

1.28.0

1 release file

1.27.0

1 release file

1.26.1

1 release file

1.26.0

1 release file

1.25.1

1 release file

1.25.0

1 release file

1.23.0

1 release file

1.22.0

1 release file

1.21.0

1 release file

0.29.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page