Skip to main content

Quantum Development Kit Python Package

Project description

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

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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

qdk-1.28.6.dev0-cp310-abi3-win_arm64.whl (6.3 MB view details)

Uploaded CPython 3.10+Windows ARM64

qdk-1.28.6.dev0-cp310-abi3-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.10+Windows x86-64

qdk-1.28.6.dev0-cp310-abi3-manylinux_2_35_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.35+ x86-64

qdk-1.28.6.dev0-cp310-abi3-manylinux_2_35_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.35+ ARM64

qdk-1.28.6.dev0-cp310-abi3-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

qdk-1.28.6.dev0-cp310-abi3-macosx_10_12_x86_64.whl (5.5 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file qdk-1.28.6.dev0-cp310-abi3-win_arm64.whl.

File metadata

  • Download URL: qdk-1.28.6.dev0-cp310-abi3-win_arm64.whl
  • Upload date:
  • Size: 6.3 MB
  • Tags: CPython 3.10+, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: RestSharp/106.13.0.0

File hashes

Hashes for qdk-1.28.6.dev0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 8a9e960ccb5f3091a81708ac30c097dd1271705f7bafd54acee92b0f61dea306
MD5 8490a8b38862479aaf89678d9c65ef1d
BLAKE2b-256 271bb73f9154708cb9c79e07d7eba5384c2235575e08d086ac816e4d2669c192

See more details on using hashes here.

File details

Details for the file qdk-1.28.6.dev0-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: qdk-1.28.6.dev0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 6.7 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: RestSharp/106.13.0.0

File hashes

Hashes for qdk-1.28.6.dev0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8d0595fcedff8f82c5ded27e023b749298b50c7969b1243f72f7f161ea69a61c
MD5 c2bf192e5d93e95b74dfd9480f478602
BLAKE2b-256 08a7c5a2d9c03e54300e7e1c009af398584684de9639799cf9d71bb1788df2c9

See more details on using hashes here.

File details

Details for the file qdk-1.28.6.dev0-cp310-abi3-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for qdk-1.28.6.dev0-cp310-abi3-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 ce11ae5d22b898ddc4710adb8438eb887dfbe2e71a91bfc2748b87ce0f4dfd71
MD5 ec7d9d4e5b1a9cdfad9bce552b7df368
BLAKE2b-256 a4882dfc28bec61ea3427cb7b95510ca47f31d6263953b368791f8aed1e429ee

See more details on using hashes here.

File details

Details for the file qdk-1.28.6.dev0-cp310-abi3-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for qdk-1.28.6.dev0-cp310-abi3-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 dbe945b064fb24863e4d4fe0f025a6af6289ed43f700f5dce2fc10e904ece47a
MD5 22a7ccdd089557f84e899218f0b8f74f
BLAKE2b-256 4d6582ec472d68ed7996c42127e55bcbd3102abbbb0f1d30adad546ddb038874

See more details on using hashes here.

File details

Details for the file qdk-1.28.6.dev0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qdk-1.28.6.dev0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f4eec346979c7c48f8bdbe258c1f379ecb1dea8cb997309d87328e25aab0583f
MD5 9dab3e07aba10e947532688a1c68b137
BLAKE2b-256 ca2a6647cf1713b9fec71366724e96f2db228444d397e5ff0598363a3ab487d5

See more details on using hashes here.

File details

Details for the file qdk-1.28.6.dev0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for qdk-1.28.6.dev0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 afa35716f2ca56e642ec6f96478b88dc1030e63f2fe547a6eb11d6bdb1dd6529
MD5 8031b05a50c1f7fba493f221e98d82b7
BLAKE2b-256 5e609ab6c4cb5cacf7b1befa8e1359cbf6e6a9ab2964f47542db18daf8c9aef4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page