{"id":31040573,"url":"https://github.com/microsoft/qdk","last_synced_at":"2026-02-28T03:59:16.220Z","repository":{"id":176395964,"uuid":"593773927","full_name":"microsoft/qdk","owner":"microsoft","description":"Azure Quantum Development Kit, including the Q# programming language, resource estimator, and Quantum Katas","archived":false,"fork":false,"pushed_at":"2025-09-12T23:29:24.000Z","size":19711,"stargazers_count":766,"open_issues_count":161,"forks_count":139,"subscribers_count":27,"default_branch":"main","last_synced_at":"2025-09-13T00:20:40.617Z","etag":null,"topics":["compilers","qsharp","quantum","quantum-computing","quantum-programming","quantum-programming-language","quantum-resource-estimation","tutorials","vscode"],"latest_commit_sha":null,"homepage":"https://microsoft.github.io/qdk/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-01-26T20:07:33.000Z","updated_at":"2025-09-12T23:06:39.000Z","dependencies_parsed_at":"2023-10-17T01:28:40.306Z","dependency_job_id":"9052652b-cbc1-48ba-9c06-db3b2cf6ea2a","html_url":"https://github.com/microsoft/qdk","commit_stats":{"total_commits":1378,"total_committers":41,"mean_commits":"33.609756097560975","dds":0.7496371552975327,"last_synced_commit":"5ff51bb03be3e8f0d2b26a532461ef9a5144d269"},"previous_names":["microsoft/qsharp","microsoft/qdk"],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/microsoft/qdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fqdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fqdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fqdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fqdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/qdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fqdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274955313,"owners_count":25380665,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compilers","qsharp","quantum","quantum-computing","quantum-programming","quantum-programming-language","quantum-resource-estimation","tutorials","vscode"],"created_at":"2025-09-14T09:00:47.648Z","updated_at":"2026-02-28T03:59:16.192Z","avatar_url":"https://github.com/microsoft.png","language":"Rust","readme":"# Microsoft Quantum Development Kit\n\nWelcome to the Microsoft Quantum Development Kit!\n\nThis repository contains tooling for the Q# language, specifically:\n\n- **[compiler](./source/compiler/qsc/)**: core compiler logic and command-line tooling\n- **[fuzz](./source/fuzz/)**: fuzz testing infrastructure\n- **[jupyterlab](./source/jupyterlab/)**: JupyterLab extension\n- **[language_service](./source/language_service/)**: Q# language service and editor features\n- **[library](./library/)**: Q# standard library\n- **[npm](./source/npm/)**: Q# npm package\n- **[pip](./source/pip/)**: Q# Python pip package\n- **[playground](./source/playground/)**: simple website for interacting with Q#\n- **[resource_estimator](./source/resource_estimator)**: Implementation for the Microsoft Quantum Resource Estimator\n- **[vscode](./source/vscode/)**: Visual Studio Code extension\n- **[wasm](./source/wasm/)**: The bindings and logic for the WebAssembly module\n- **[widgets](./source/widgets)**: The Q# Jupyter widgets Python package\n\nThere are also the tutorials and samples in the `./katas` and `./samples` directories, respectively.\n\nCode from this repository powers the Q# development experience on \u003chttps://quantum.microsoft.com\u003e.\n\n## Building\n\nTo build this repository there are dependencies that need to be installed. These are:\n\n- Python (\u003chttps://python.org\u003e)\n- Rust (\u003chttps://www.rust-lang.org/tools/install\u003e)\n  - On all platforms, the `wasm32-unknown-unknown` must be installed to build the WASM based components\n    ```shell\n    rustup target add wasm32-unknown-unknown\n    ```\n  - On MacOS, ensure that both `aarch64` and `x86_64` targets are installed or you will encounter linking errors.\n    ```shell\n    rustup target add x86_64-apple-darwin\n    rustup target add aarch64-apple-darwin\n    ```\n- Node.js (\u003chttps://nodejs.org/\u003e)\n- A [C compiler](https://docs.rs/cc/latest/cc/#compile-time-requirements)\n- wasm-bindgen (see \u003chttps://github.com/rustwasm/wasm-bindgen\u003e)\n- wasm-opt (see \u003chttps://github.com/WebAssembly/binaryen\u003e)\n\nThe last two can be installed into your HOME directory by running `python ./prereqs.py --install`\n\nThe build script will check these dependencies and their versions and fail if not met. (Or run\n`python ./prereqs.py` directly to check if the minimum required versions are installed).\n\nTo build, in the root directory run `python ./build.py`. By default this will run a release\nbuild of each project, including running tests and checks such as linting. Run with the\n`--help` option for detailed usage.\n\n### Playground\n\nThe `playground` is a small website that loads the Q# editor, compiler, samples, katas, and documentation for the standard library. It's a way to manually validate any changes you make to these components.\n\nTo see instructions for building the playground, refer to [Building the Playground Locally](./source/playground/README.md#building-the-playground-locally).\n\n### Python\n\nWhen building the Python packages (`pip` and `jupyterlab`), if the build script does not detect\na current Python virtual environment, it will automatically create one under `source/pip/.venv` or\n`source/jupyterlab/.venv`. When developing locally, you can use these virtual environments to run the\ntests by running `source .venv/bin/activate` (Linux/MacOS) or `.venv/Scripts/activate.bat` (Windows).\n\n## Code editing\n\nThe easiest way to develop in this repo is to use VS Code. When you open the project root, by\ndefault VS Code will recommend you install the extensions listed in `.vscode/extensions.json`.\nThese extensions provide language services for editing, as well as linters and formatters to\nensure the code meets the requirements (which are checked by the `build.py` script and CI).\n\nSome settings are recommended (but not enforced) to make development easier. These are in the\n`.vscode/*.shared.json` files. If the [Workspace Config+](https://marketplace.visualstudio.com/items?itemName=swellaby.workspace-config-plus)\nextension is installed, this will automatically apply these settings, as well as overrides from\nyour own corresponding `.vscode/*.local.json` settings. If you don't install this extension, you can\nuse these as a reference for editing your own `.vscode/*.json` settings files. (See the extension\nhome page for more details).\n\n## Debugging\n\nDebugging the VS Code extension is best done inside VS Code by launching with F5\n(or `Run / Start Debugging` from the VS Code menu). The `launch.shared.json`\nfile will be applied if using the `Workspace Config+` extension outlined above,\nand this includes a command-line flag to launch the development instance with a\nprofile named `dev`. (If not familiar with VS Code profiles see\n\u003chttps://code.visualstudio.com/docs/configure/profiles\u003e).\n\nThis allows you to develop in the main VS Code instance with all your regular\nextensions enabled (including the QDK), but use a `dev` profile that only\nincludes the minimal extensions for testing (e.g. GitHub Copilot, Python,\nJupyter). This avoids the issue where launching with all extensions disabled\nstops you from testing Copilot, Python, etc., but launching with your default\nextensions enabled will cause conflicts with the installed QDK and the one being\ndebugged.\n\nBy default the debugger will launch a VS Code instance with the `./samples`\ndirectory open in the workspace. The directory `samples/scratch` is excluded\nfrom the repo via `.gitignore`, so you can work on temporary files in this\ndirectory without them cluttering your `git diff` or accidentally checking them\nin.\n\n## Citation\n\nIf you use Q#, Microsoft Quantum Development Kit, or Microsoft Quantum Resource Estimator, please cite as follows:\n\n- Microsoft Quantum Development Kit:\n\n```bibtex\n@software{Microsoft_Quantum_Development_Kit,\n   author = {{Microsoft}},\n   license = {MIT},\n   title = {{Microsoft Quantum Development Kit}},\n   url = {https://github.com/microsoft/qsharp} }\n```\n\n- Q# programming language:\n\n```bibtex\n@inproceedings{Svore_2018, series={RWDSL2018},\n   title={{Q\\#: Enabling Scalable Quantum Computing and Development with a High-level DSL}},\n   url={http://dx.doi.org/10.1145/3183895.3183901},\n   DOI={10.1145/3183895.3183901},\n   booktitle={Proceedings of the Real World Domain Specific Languages Workshop 2018},\n   publisher={ACM},\n   author={Svore, Krysta and Geller, Alan and Troyer, Matthias and Azariah, John and Granade, Christopher and Heim, Bettina and Kliuchnikov, Vadym and Mykhailova, Mariia and Paz, Andres and Roetteler, Martin},\n   year={2018},\n   month=feb, collection={RWDSL2018} }\n```\n\n- Microsoft Quantum Resource Estimator:\n\n```bibtex\n@inproceedings{Microsoft_Quantum_Resource_Estimator,\n   author = {van Dam, Wim and Mykhailova, Mariia and Soeken, Mathias},\n   title = {{Using Azure Quantum Resource Estimator for Assessing Performance of Fault Tolerant Quantum Computation}},\n   year = {2023},\n   isbn = {9798400707858},\n   publisher = {Association for Computing Machinery},\n   address = {New York, NY, USA},\n   url = {https://doi.org/10.1145/3624062.3624211},\n   doi = {10.1145/3624062.3624211},\n   booktitle = {Proceedings of the SC '23 Workshops of The International Conference on High Performance Computing, Network, Storage, and Analysis},\n   pages = {1414–1419},\n   numpages = {6},\n   series = {SC-W '23} }\n```\n\n## Feedback\n\nIf you have feedback about the content in this repository, please let us know by filing a [new issue](https://github.com/microsoft/qsharp/issues/new/choose)!\n\n## Reporting Security Issues\n\nSecurity issues and bugs should be reported privately following our [security issue documentation](./SECURITY.md#reporting-security-issues).\n\n## Contributing\n\nThis project welcomes contributions and suggestions. Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit \u003chttps://cla.opensource.microsoft.com\u003e.\n\nWhen you submit a pull request, a CLA bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\nFor more details, please see [CONTRIBUTING.md](./CONTRIBUTING.md).\n\n## Legal and Licensing\n\n### Trademarks\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft\ntrademarks or logos is subject to and must follow\n[Microsoft's Trademark \u0026 Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion\nor imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those\nthird-party's policies.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fqdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fqdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fqdk/lists"}