Skip to main content

Quantum Development Kit - Chemistry Library

Project description

Microsoft Quantum Development Kit for Chemistry (QDK/Chemistry)

QDK/Chemistry is an open-source C++ and Python package within the Microsoft Quantum Development Kit (QDK). It provides an end-to-end toolkit for quantum chemistry: from molecular setup and classical electronic structure through quantum algorithm execution and simulation. Designed as both a development platform and a composable framework, QDK/Chemistry enables researchers to assemble modular quantum–classical pipelines, explore strongly correlated systems, and advance toward practical quantum chemistry applications on near-term and fault-tolerant quantum computers.

Overview

QDK/Chemistry bridges classical computational chemistry with quantum computing by providing every stage of the quantum applications pipeline in a single, modular toolkit:

  • Quantum algorithms: a growing collection of chemistry-aware quantum algorithms, with composable building blocks for constructing higher-level quantum workflows
  • Classical electronic structure: production-quality classical methods that generate the high-quality inputs quantum algorithms require
  • Composable architecture: a plugin system that lets users assemble custom pipelines from interchangeable components, mixing native high-performance C++ backends with established community packages
  • Multiple quantum backends: execute circuits on a variety of simulators through a unified interface that decouples algorithm development from backend selection

Documentation

  • Website: The full documentation is hosted online
  • C++ API: Headers in cpp/include/ contain comprehensive Doxygen documentation
  • Python API: All methods include detailed docstrings with Parameters, Returns, Raises, and Examples sections
  • Examples: See the examples/ directory and documentation for usage examples
  • Reference data and companion materials: Curated simulation datasets, molecular benchmarks, and related assets are available at microsoft/qdk-chemistry-data

Installing

python3 -m venv venv && source venv/bin/activate
python3 -m pip install 'qdk-chemistry[all]'

The [all] extra pulls in all optional dependencies so that examples and tests work without chasing missing packages. For other installation methods (Dev Container, building from source) and platform-specific notes, see INSTALL.md.

Telemetry

By default, this library collects anonymous usage and performance data to help improve the user experience and product quality. The telemetry implementation can be found in telemetry.py and all telemetry events are defined in telemetry_events.py.

To disable telemetry via bash, set the environment variable QSHARP_PYTHON_TELEMETRY to one of the following values: none, disabled, false, or 0. For example:

export QSHARP_PYTHON_TELEMETRY='false'

Alternatively, telemetry can be disabled within a python script by including the following at the top of the .py file:

import os
os.environ["QSHARP_PYTHON_TELEMETRY"] = "disabled"

If you have any questions about the library's use of Telemetry, please use the Discussion forum.

Citing QDK/Chemistry

If you use QDK/Chemistry in your work, please cite the following paper:

N. A. Baker, B. Bilodeau, C. Chen, Y. Chen, M. Eckhoff, A. Efimovskaya, P. Gasparotto, P. van Gerwen, R. Gong, K. Hoang, Z. Hooshmand, A. J. Jenkins, C. S. N. Johnston, R. R. Li, J. Liang, H. Liu, A. Mills, M. Mörchen, G. Nishibuchi, C. Sun, B. Ticehurst, M. Troyer, J. P. Unsleber, S. Wernli, D. B. Williams-Young, and B. Zhang, "QDK/Chemistry: A Modular Toolkit for Quantum Chemistry Applications," arXiv:2601.15253 (2026).

Contributing

There are many ways in which you can participate in this project, for example:

If you are interested in fixing issues and contributing directly to the code base, please see the document How to Contribute.

Support

For help and questions about using this project, please see SUPPORT.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

License

Copyright (c) Microsoft Corporation. All rights reserved.

Licensed under the MIT license.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft’s Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos is subject to those third-parties’ policies.

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_chemistry-2.0.0-cp314-cp314-win_amd64.whl (63.2 MB view details)

Uploaded CPython 3.14Windows x86-64

qdk_chemistry-2.0.0-cp314-cp314-manylinux_2_39_x86_64.whl (65.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ x86-64

qdk_chemistry-2.0.0-cp314-cp314-manylinux_2_39_aarch64.whl (62.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ ARM64

qdk_chemistry-2.0.0-cp314-cp314-macosx_26_0_arm64.whl (58.3 MB view details)

Uploaded CPython 3.14macOS 26.0+ ARM64

qdk_chemistry-2.0.0-cp313-cp313-win_amd64.whl (63.2 MB view details)

Uploaded CPython 3.13Windows x86-64

qdk_chemistry-2.0.0-cp313-cp313-manylinux_2_39_x86_64.whl (65.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

qdk_chemistry-2.0.0-cp313-cp313-manylinux_2_39_aarch64.whl (62.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ ARM64

qdk_chemistry-2.0.0-cp313-cp313-macosx_26_0_arm64.whl (58.3 MB view details)

Uploaded CPython 3.13macOS 26.0+ ARM64

qdk_chemistry-2.0.0-cp312-cp312-win_amd64.whl (63.2 MB view details)

Uploaded CPython 3.12Windows x86-64

qdk_chemistry-2.0.0-cp312-cp312-manylinux_2_39_x86_64.whl (65.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

qdk_chemistry-2.0.0-cp312-cp312-manylinux_2_39_aarch64.whl (62.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ ARM64

qdk_chemistry-2.0.0-cp312-cp312-macosx_26_0_arm64.whl (58.3 MB view details)

Uploaded CPython 3.12macOS 26.0+ ARM64

qdk_chemistry-2.0.0-cp311-cp311-win_amd64.whl (63.2 MB view details)

Uploaded CPython 3.11Windows x86-64

qdk_chemistry-2.0.0-cp311-cp311-manylinux_2_39_x86_64.whl (65.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

qdk_chemistry-2.0.0-cp311-cp311-manylinux_2_39_aarch64.whl (62.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ ARM64

qdk_chemistry-2.0.0-cp311-cp311-macosx_26_0_arm64.whl (58.3 MB view details)

Uploaded CPython 3.11macOS 26.0+ ARM64

qdk_chemistry-2.0.0-cp310-cp310-win_amd64.whl (63.2 MB view details)

Uploaded CPython 3.10Windows x86-64

qdk_chemistry-2.0.0-cp310-cp310-manylinux_2_39_x86_64.whl (65.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

qdk_chemistry-2.0.0-cp310-cp310-manylinux_2_39_aarch64.whl (62.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ ARM64

qdk_chemistry-2.0.0-cp310-cp310-macosx_26_0_arm64.whl (58.3 MB view details)

Uploaded CPython 3.10macOS 26.0+ ARM64

File details

Details for the file qdk_chemistry-2.0.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 919791a26ce0fe23a5451aba1416fbb717c9ac6b55f89a75ac7bd75e4d8044d1
MD5 a25dc6fe0eae091ef1e25ad312bff5bc
BLAKE2b-256 25935b6e291c6b9df70ecc601c20e233cd23d699f767ec179101736616ce46c0

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp314-cp314-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp314-cp314-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 16a6dd1c8ca3088fda0dc496a842f8620912b22307d94739c6e14dc91e288f24
MD5 625a5169bf88e4e901a8572bfcaaaadf
BLAKE2b-256 ed4ac83ad7c14521e928c01305ea675e1125b1a6c427bc8f745815358caae626

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp314-cp314-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp314-cp314-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 09d6f512883eed67b573b0fe0c08097de5171ccb1e056db4bdff0218e579ba8b
MD5 4e91b2943c3ea218bd965bda6a775975
BLAKE2b-256 f33f2216927fe403d70f3c776553165f70e10b8d3d3e9eeb8d6d67d40a47ecdb

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp314-cp314-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp314-cp314-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 700529090c33e284b6af89a03108457caff5f3bdb0dc6db820b3fb2ccd119fdf
MD5 7fd933243e36c68f8c1cc17a66e13564
BLAKE2b-256 6030711953eb19c5d539f37e8c69945b2fffeb4358fbd7ce86c2981076013201

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 823364923a0d04fabc550785f4bad31e3cb2c0eba9a42378cb4631be5359cb0f
MD5 b42e69af374abc13c0c4d934e82d5078
BLAKE2b-256 4473b3f90d3cf8c415aabf3a9003ab81834fbd4751eea7e61a97f6288ef4b9c1

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 235843adcabf295cb9e4c5feca03115a39708002102dbd9308a34d229dfaf28c
MD5 527d0438d3b61bfa9ceaa34cc5de2f75
BLAKE2b-256 7c79ff64648d98138c2207c2c472f827c316c866d13bf8cb3794ce71f33d5692

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp313-cp313-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp313-cp313-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 c5e2a66b5a5baba1861736e127953425592d13a70f7324beb84fbaeb7da18d04
MD5 26e9d832e9e5dca7b24e3490795a5ac8
BLAKE2b-256 3a2438accb0c094f6612a22d30e4552d0807a3b18bdbc4f996be69bc8069fa22

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp313-cp313-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp313-cp313-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 8956e7081fa288819d4c2e45d1201a1f223dc96fb4d1a413de9a05e5b5c5b5b5
MD5 f731eef53656eeba2b313dbfb4689442
BLAKE2b-256 41f71890a1c1d645b239295d52baf15b79b94bdf1938ad7ecc21451c6b8fc39c

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5b1a55201b853620a9b570b5eb5fde1d941b414fa33aa0815206fc9736a2d50f
MD5 24c2aa6f1dec9103993e51fd671fb3cc
BLAKE2b-256 7589c67bc7cf9888b1a8b6f96ef0c5258896ce160ffb28e5cb15c0344b423cac

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 518c76d542ea614c4d573e153fe0843bd86d4f14b4b5c3047850b335c48211b0
MD5 b1448665e08f045e3eda41c9511d7fd4
BLAKE2b-256 ac92c40e8df2d9ade93afc246f02e1ed1daff872f249d206e7642c7c293c7ee3

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp312-cp312-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 e9f7f2a65be4dd333f9a2a53d2196c5be02032244970c3f499b0a8b23ad7b783
MD5 a5be7a5bd62ec7d166e02a647cdda28f
BLAKE2b-256 0985f32e0b408eb9bd3eda4855d23cb4b3743fff2e78a3ef04ee65992fdec093

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp312-cp312-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp312-cp312-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 4f9bdb2ad2fb13672513843af181c6f4be1852708bb315a610e80503d5772b57
MD5 1194bd2dd620b5715e0a68213e11ea71
BLAKE2b-256 c1e1cdaf68cd7dd7c8c02677fdfbc8de9b169ab4541ec8da4cb0dda624fe7070

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 697f60e7f39fb1d5bd1b8c179ea6ff6e130af1afd595c56c017fd105904adb0b
MD5 de7a747d99c717476f36d027eaa32b30
BLAKE2b-256 8e93fb918caa14170a7b152af038e8fa911f7df9e202269628db909d71ed9561

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 fede7ac85a9e3237ee1a77129cf969743227d94fd3e0f2563c6947426f1b20a7
MD5 3542912f955d7fb763fbe891834b1fae
BLAKE2b-256 ce9d56d91087eae1ae0b56fa9ab8ec5275e92fb2e12ce425fce7d016f78d0325

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp311-cp311-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp311-cp311-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 cc04b54bedb5fd59cb8ba97b2ba8cc034e6af795a2b8c96111442c8d6d442d21
MD5 bf51b3685cd001355b738215d2adf1a7
BLAKE2b-256 60ef69ab3ff1b573b36ba3c9ef6437447943a635d186ad16c0a983848fe28ad0

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp311-cp311-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp311-cp311-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 1ae52018ebc92518983d4f383b0ffe07039bb0149cd7f2afc73c47403d5d6846
MD5 95a8c24ee2d6db333d763f70ede4d62e
BLAKE2b-256 1ac47639cd798fc1bc397729e2d7c8f480755727aa47d8ce82e358a691427f7d

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5be10d157f1905775f00d07fdef385a0b243e869392598a9925523a3953ffc38
MD5 e3394807909b382c20aa6addd6ba9c1e
BLAKE2b-256 8e2ecfd1a074af36f6b6a6ec40695a222bf29820b5948e16346ac32ea209de13

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp310-cp310-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 6dfa0bb37c9c9591d7dc87f3781a0f5793dd644f5b37d5b3c17104e33f04c2e8
MD5 6fdf5f6a22abf039dbf722432062efa3
BLAKE2b-256 063c817217ab51e111a1928e535065be1d78302c9e867f00b19a85f3074bfc38

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp310-cp310-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp310-cp310-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 56e948aab8e01b8627a136de5727690b0e140f0ff0a1dc01e8384d4f0b8d9577
MD5 42134e0a412c25e33d5fd4de3af54cdf
BLAKE2b-256 1849cc3e7d93045212765a1af3c9ee7831c3c65727f3d3afd413ec9cb1d6910c

See more details on using hashes here.

File details

Details for the file qdk_chemistry-2.0.0-cp310-cp310-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for qdk_chemistry-2.0.0-cp310-cp310-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 0a8ce3494427213bffe9a8acec97cc3e6b1759afea2a5ade2748358953ccdc5a
MD5 23230993cad883536e92714e9a6ebdd3
BLAKE2b-256 ff8e31a4622f60c3c7692cb28b54a771cd525d507edbeff9d3f7d519932d0983

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