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

Uploaded CPython 3.10+Windows ARM64

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

Uploaded CPython 3.10+Windows x86-64

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

Uploaded CPython 3.10+macOS 11.0+ ARM64

qdk-1.29.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.29.2.dev0-cp310-abi3-win_arm64.whl.

File metadata

  • Download URL: qdk-1.29.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.29.2.dev0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 9aa7769a44e481c5cafa18ae6fe99a16d4888c17513f8fb826323d237bfefe9f
MD5 be6825a9dd0058dcef48c10a992891d0
BLAKE2b-256 c7a71096e2d6358c6b635e8ca4f29beb85cc7256b7f8014b033cd81c54ac13bf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qdk-1.29.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.29.2.dev0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a75bdef50f91c3e787b4e6ee70e0501cd694e94699b724327730106fb61e51d7
MD5 eb23f0bc276369736ebbcafe4db3b7ee
BLAKE2b-256 dbd079f3d46c50c506f0399d60e6fb8881cf6123a549b5fcd939fe7d2e882816

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.29.2.dev0-cp310-abi3-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 ecb0aeb8a687a743c5dc8e5f47feef304f63512038287f8d6a413f3cc6a672f1
MD5 5e616412e34f09ff1f7835abdb4e669e
BLAKE2b-256 9af0f8f135997921ecf7df1613df9ae2c2675b2d2846f5df828361fa8169c312

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.29.2.dev0-cp310-abi3-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 b63ab9715d5a06a95cae65ae2840df548f2f676141ecfe0ae2b3d10930014d25
MD5 80200b89ab720714d3efb72825f94e98
BLAKE2b-256 5e12bcd5a8079983b7acbc784c8119e19e3553cebbf21c67911c62bbc997eb9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.29.2.dev0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42781ad3c06f399ff082429691186e6fd6eff03453ec9af11712c85590eceb36
MD5 407f33f40b031000bbb5f6e2869f5e2a
BLAKE2b-256 a93655b01d38f02a3909e995209108fcda921488b142807bf1ed36a6b21f5ec5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qdk-1.29.2.dev0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8d41a1a38f60bfff1516a213643b4e78fd59549b71855e430e150a71fa321fb7
MD5 e281e8aca9c7d7cc5316ae0bd9758741
BLAKE2b-256 3230fb9ef01f5a553ad1582f75a546b9f6a2411d3fed4247d1efa89106790cc9

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