microsoft / QuantumLibraries

Q# libraries for the Quantum Development Kit
https://docs.microsoft.com/quantum
MIT License
543 stars 179 forks source link
hacktoberfest qdk qsharp quantum quantum-computing quantum-development-kit

DEPRECATION NOTICE

This repository is deprecated.

For the Modern QDK repository, please visit Microsoft/qsharp.

You can also try out the Modern QDK in VS Code for Web at vscode.dev/quantum.

For more information about the Modern QDK and Azure Quantum, visit https://aka.ms/AQ/Documentation.

Classic QDK

This repository contains open-source libraries for the Quantum Development Kit:

New to Quantum?

See the introduction to quantum computing provided with the Quantum Development Kit.

Getting Started

The libraries provided in this repository are built using .NET Core and the Quantum Development Kit. Please see the installation guide for how to get up and running.

You may also visit our Quantum repository, which offers a wide variety of samples on how to use these libraries to write quantum based programs.

Build Status

branch status
main Build Status

Feedback

If you have feedback about the content in this repository, please let us know by filing a new issue! If you have feedback about some other part of the Microsoft Quantum Development Kit, please see the contribution guide for more information.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

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.

[Optional] Using Prerelease Versions

If you're interested in helping test the Quantum Development Kit libraries, or if you want to try out new features before they are released, you can add the Quantum Development Kit prerelease feed to your .NET Core SDK configuration. Packages on the prerelease feed are marked with -alpha in their version number, so that projects built using released versions of Quantum Development Kit libraries will not be affected. Note that the prerelease feed is used automatically when building libraries in this repository.

To use the prerelease feed, edit your NuGet.Config file to include the prerelease feed URL (https://pkgs.dev.azure.com/ms-quantum-public/Microsoft Quantum (public)/_packaging/alpha/nuget/v3/index.json) as a package source. The location of this file varies depending on your operating system:

OS NuGet config file location
Windows $Env:APPDATA/Roaming/NuGet/NuGet.Config
macOS / Linux ~/.config/NuGet/NuGet.Config or ~/.nuget/NuGet/NuGet.Config

Note that this file may not already exist, depending on your configuration.

For example, the following NuGet.Config file includes both the main NuGet package feed, and the Quantum Development Kit prerelease feed:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="qdk-alpha" value="https://pkgs.dev.azure.com/ms-quantum-public/Microsoft Quantum (public)/_packaging/alpha/nuget/v3/index.json" protocolVersion="3" />
  </packageSources>
</configuration>