/qdk-python

Python packages for the Microsoft Quantum Development Kit (QDK)

Primary LanguagePythonMIT LicenseMIT

Build Status

QDK-Python

Introduction

QDK-Python is the repository for Python packages of the Quantum Development Kit (QDK). Currently, this consists of the following packages:

  • qdk PyPI version
  • azure-quantum PyPI version

Coming soon:

  • qsharp

Installation and getting started

To install the packages, we recommend installing the Anaconda Python distribution. For instructions on installing Conda on your system, please follow the Conda user guide.

To install the QDK package, run

pip install qdk

To install the Azure Quantum package, run

pip install azure-quantum

To get started running examples, start a Jupyter notebook:

cd examples
jupyter notebook

Development

Install pre-reqs:

pip install azure_devtools pytest pytest-azurepipelines pytest-cov

To create a new Conda environment, run:

conda env create -f environment.yml

in the root directory of the given package (qdk or azure-quantum).

Then to activate the environment:

conda activate <env name>

where <env name> is the environment name (qdk or azurequantum).

To install the package in development mode, run:

pip install -e .

Contributing

For details on contributing to this repository, see the contributing guide.

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.opensource.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., status check, 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.

Note on Packages

While we encourage contributions in any part of the code, there are some exceptions to take into account.

  • The package azure.quantum._client is autogenerated using the Azure Quantum Swagger spec. No manual changes to this code are accepted (because they will be lost next time we regenerate the client).
  • The package qdk.chemistry._xyz2mol is maintained here and included as a vendor package in this repo. Please make any suggestions or improvements to the code there.

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 are subject to those third-party's policies.