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.2.dev0-cp310-abi3-win_arm64.whl (6.3 MB view details)

Uploaded CPython 3.10+Windows ARM64

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

Uploaded CPython 3.10+Windows x86-64

qdk-1.28.2.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.2.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.2.dev0-cp310-abi3-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

qdk-1.28.2.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.2.dev0-cp310-abi3-win_arm64.whl.

File metadata

  • Download URL: qdk-1.28.2.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.2.dev0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 4acf0fd66b9993e808c4aef97ff6eb1a0c2b65b5e277d8390c251b110cb4ed49
MD5 4a9c85eced9e01c3acebb60869be818d
BLAKE2b-256 cf92b259872b07314243161f16247850a0eda2b9a65f027e7f90e21d322d52f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qdk-1.28.2.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.2.dev0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 d295f2e8584b3ec38c78f072545a135296f8c77f287ff1fce6e06f349f844ffb
MD5 81f4d01e04f38293ff974cefc2a3e7c7
BLAKE2b-256 e2097a0cdc55a30324f6c5a3176ad370b8459763706f1206fe6750b36c715f2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.28.2.dev0-cp310-abi3-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 99f6e4a3611a11a9a156f72015aa8fc95128f07afb909c4046293f1ef897208f
MD5 4a5db1a080d3cfe4ec15aee2efb3b5e7
BLAKE2b-256 16856073166157fea201281b828beccacc91a1faf7075d7ab64a04a4eb11428d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.28.2.dev0-cp310-abi3-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 23dd6528a32759c81b5413d9f3af244eb34c154547a36a3d779c7b316d862ff4
MD5 3d72442cec83ebd6d771417547047cc3
BLAKE2b-256 6d520da2de1919642bb962d65921b56216fc771af2c885c218998ba5e876f225

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.28.2.dev0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 efcbd774a2039048dbeacdd217c513aad5c6f01520d43df9a2405e00b3af583c
MD5 edf4b80f89c15b3c5dc8891ee6515f31
BLAKE2b-256 fed72f315cbbe8be7f77ef7671a98d396191327605433c5458e973a2a8321686

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.28.2.dev0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f6e927371b2bd9560a5f36ae3568fbe4a4b8c017069be6d73c8883e3a066af42
MD5 cfef3af0bce343d54ad8f0479d32e6cf
BLAKE2b-256 9ef0af941d76d2fd2bca0533863b80c3f34f1f6f5a95763ec520c49ec28f1782

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