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

Uploaded CPython 3.10+Windows ARM64

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

Uploaded CPython 3.10+Windows x86-64

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

Uploaded CPython 3.10+macOS 11.0+ ARM64

qdk-1.28.4.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.4.dev0-cp310-abi3-win_arm64.whl.

File metadata

  • Download URL: qdk-1.28.4.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.4.dev0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 5eb907e6a11642a3159f468a29a76a193df3977ebdb6513ecf35d01d88756475
MD5 6cfe73ca96ad282d6156f8cd174e800d
BLAKE2b-256 99bdcc652b2b0de67ebf4a80e61429a053aa273763f8d6ad3a1b12e58b4711a1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qdk-1.28.4.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.4.dev0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 9dbd1439a5d1033d9aeb336b196d4bc48b691250e298aefe07cf3cafbf21f934
MD5 6dd95b9342ec6dca99c6e0cab8e619c5
BLAKE2b-256 f5720325ef41a9360e4a9b4efb433fa60b2c54fb87af58f096032c5e6c8c85f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.28.4.dev0-cp310-abi3-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 885befa677eba000e8cc0f181c3c32252c33e6ad291fff07f0fd7749a23b08db
MD5 f7ece86f1d16c584693cb51ae6fdadac
BLAKE2b-256 132c46ad5d7e6a0b736b913c1d9bdeb786039058751e0d045b24983187029f2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.28.4.dev0-cp310-abi3-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 fa26f919c0054a361975ed914c2038de74685429dacc6f92a2ebab56eac39496
MD5 4084eb10b3706a0308d8126e0e2b05ed
BLAKE2b-256 e01a7d0331feba5dbe9baf356c09a740bfdfa2bdba2d5843f8a5f9e28bb2a273

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.28.4.dev0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e134f4914af8a703975183c8b26eaf3d38d02a0e97c2f2812d35fabe0b5dfd54
MD5 d08c6736bb02a5e7a973e801cd00c350
BLAKE2b-256 f7b0965c25a9bc2f88b75a552b972d223444621037364e30fbbed648dcdd28e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.28.4.dev0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 facb3ee01b2eb9209fb291ceb55498ddbf99d47961479a5d70d2f9cef2e11cf7
MD5 fc6ce880a88939dc585520c31abfa49c
BLAKE2b-256 e3dbce1d8ed6f45d1a57a22dc5edd6fc79864c00be298bdf8e1f52828cd4223d

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