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

Uploaded CPython 3.10+Windows ARM64

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

Uploaded CPython 3.10+Windows x86-64

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

Uploaded CPython 3.10+macOS 11.0+ ARM64

qdk-1.28.7.dev0-cp310-abi3-macosx_10_12_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: qdk-1.28.7.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.7.dev0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 d03625706103f57e81320daaf00235a0ce6df58cb5b21468605daf9d31acaf5d
MD5 c4674e2c2a84cd9b84f1ae1c96a541f5
BLAKE2b-256 9d9aa00d06217f2d748cf82ff34b1ccd635e95045811bce8aeb3c4c58956c42a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qdk-1.28.7.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.7.dev0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 dc1a66bb03da408b859a5e4a7a13e195395eca0fd4b04fa1f378290daf08a2f5
MD5 80b253b9b28ccddd0cbbc5240ca2f097
BLAKE2b-256 e5494d35a02d7522cd4fe1002a7ff5fb4a3517837b153ff719bab73029210ca1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.28.7.dev0-cp310-abi3-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 e5e734e7de10bb34a6ef73d497ff40249db9494f43821c6c986d522765f80a3b
MD5 a7b45c4ad671d1f7c9dc3cda7313bc30
BLAKE2b-256 47e6c7ce7e0c44428babb587f6d01b1f106bee3d32a02b703802cf904d7dfab8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.28.7.dev0-cp310-abi3-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 4ae331fb9d591bfdfdd4933d87a18dfe8ccea803d8dd197f576f2b42e1d550ed
MD5 8aeffbc6a17c01986f0fdb3f77d05d2c
BLAKE2b-256 2dafbf5efd9e36de22f133314c36be73ec6bc29dea55c1b40aac9d5ad425f186

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.28.7.dev0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 35cf724ac442b141c966e73c5f9f87727004c64f290338cd4b33cfa0582a84aa
MD5 228d21718a2db21ec8ffba7fe83b4d9a
BLAKE2b-256 2519939c3f1634a820a3b1b7daaf39954fec18f7db3fe1e946a4b80ab788c2a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.28.7.dev0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7a8bc0ffda7df964603602982f133186a708138b19d4742c3d3441c951bd1d6b
MD5 c086e1659378af884cfd0a0a10820186
BLAKE2b-256 39c8508b5c83bf77f18161151a6fd696bb7ef46d1ef763cad619ed50d3856187

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