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, 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.

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

Uploaded CPython 3.10+Windows ARM64

qdk-1.29.5.dev0-cp310-abi3-win_amd64.whl (7.6 MB view details)

Uploaded CPython 3.10+Windows x86-64

qdk-1.29.5.dev0-cp310-abi3-manylinux_2_35_x86_64.whl (6.9 MB view details)

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

qdk-1.29.5.dev0-cp310-abi3-manylinux_2_35_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.35+ ARM64

qdk-1.29.5.dev0-cp310-abi3-macosx_11_0_arm64.whl (5.7 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

qdk-1.29.5.dev0-cp310-abi3-macosx_10_12_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: qdk-1.29.5.dev0-cp310-abi3-win_arm64.whl
  • Upload date:
  • Size: 7.1 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.29.5.dev0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 eb7b14ea6c3d623624a445b881f0b0cb7f1e8e420e480af2480b8d953d68f807
MD5 85fe6354f8b9258f4cc50e6bfac3a5eb
BLAKE2b-256 75a3766b9dc7e11a51f415152b70f3aa282c9f4041c2a256640db5d4b0294952

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qdk-1.29.5.dev0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 7.6 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.29.5.dev0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b7c60655ab1c1b25b6d0604ca7f7b5119834283e01b4465709120838eaa3c6c5
MD5 9674c06371ee01b70f9ffdc007d4e047
BLAKE2b-256 a50d64ea5928d7d9e260f5bd0e591bd6b705aef29ea1ce3e053cd893038c8702

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.29.5.dev0-cp310-abi3-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 4afd851ad542a14cbc7c543ea99d6f6bb65af57ad80db65f3d27a28c1fb88395
MD5 f3776e46cae0eb476e1b330ba5658fdb
BLAKE2b-256 808559540b691253bac721401e1285b9abe3401d6d71a5648db8d4cb55f4139b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.29.5.dev0-cp310-abi3-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 176d95ffb83a78f820a741785d93fb97d14d39ed08ac562e0ee03b5b6d905c47
MD5 8d561ead139566ebfd9aa328d1c5f319
BLAKE2b-256 6bf32ebd88f566e840e717693eb20c62736e3facb9a9206923396f8a7cf610ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.29.5.dev0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5fbf5ceb7c69745d4c4fc90f1d071a5250051c863dbcd45f4ff70c7999e22e49
MD5 d532f0f647233cf08d3ab304339408dd
BLAKE2b-256 7fddffa260f68128987ebef44e9130550b65a6cf26ef082a59de95374711ed09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.29.5.dev0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0825aad9ac9195757046f431b0310353fe317d31155295a5c15af3ce9b7d7426
MD5 bcf515ef210c1067dd4e00733829767a
BLAKE2b-256 6575e601871724192486ce1d31457e4fdd5941d1b639c953d6a12b94b2c56ccb

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