Skip to content

Development Guide

Project Overview

This project provides a Pennylane Adapter for MQSS, allowing users to access MQSS backends through Pennylane. The main components of the project are:

  • provider.py: Contains the MQSSPennylaneDevice class, which serves as the main entry point for defining MQSS devices in Pennylane.
  • backend.py: Contains the MQSSPennylaneBackend class, which interfaces with the MQSS backends.
  • job.py: Contains the MQPJob class, which handles job cancellation, status checking, and result retrieval.

Prerequisites

Before you start developing, ensure you have the following installed:

  • Python 3.8 to 3.11
  • uv package manager for python

Setting Up the Development Environment

Clone the repository:

git clone https://github.com/Munich-Quantum-Software-Stack/MQP-Qiskit-Provider.git
cd MQP-Qiskit-Provider

Create a virtual environment and install the dependencies:

pdm install

Running Tests

To run the tests, use pytest:

pdm run pytest

Publishing Documentation on GitHub Pages

To publish the documentation on GitHub Pages, follow these steps:

Install MkDocs and the Material theme:

pdm install -G docs

Build the documentation:

pdm run mkdocs build

View documentation locally

Run the following and browse the documentation locally at: http://localhost:8000

pdm run mkdocs serve

Deploy the documentation to GitHub Pages:

pdm run mkdocs gh-deploy --remote-name git@github.com:Munich-Quantum-Software-Stack/MQP-Qiskit-Provider-Documentation.git --remote-branch gh-pages

This will create a new branch named gh-pages in your repository and deploy the documentation to GitHub Pages.