Skip to content
This repository has been archived by the owner on Jun 17, 2024. It is now read-only.
/ planqk-quantum Public archive

Python library for the PlanQK Platform

License

Notifications You must be signed in to change notification settings

PlanQK/planqk-quantum

Repository files navigation

PROJECT MOVED TO GITLAB

NOTICE: This project is no longer maintained on GitHub. It has been moved to GitLab for continued updates and development. You can find the latest version of this project at https://gitlab.com/planqk-foss/planqk-quantum.


PlanQK Quantum SDK

PyPI version

The PlanQK Quantum SDK is for developing quantum circuits using Qiskit to be run on quantum devices provided by the PlanQK Platform. This library is an extension for Qiskit. This means that you are able to seamlessly integrate and reuse your existing Qiskit code, leveraging the power and familiarity of a framework you are already accustomed to.

Getting Started

Check out the following guides on how to get started with PlanQK:

Installation

The package is released on PyPI and can be installed via pip:

pip install --upgrade planqk-quantum

Development

To create a new Conda environment, run:

conda env create -f environment.yml

Then, to activate the environment:

conda activate planqk-quantum

To install the package in development mode, run:

pip install -e .

Release Process

The SDK is released to PyPi. The release numbers follow the Semantic Versioning approach resulting in a version number in the format major.minor.patch. The version number is automatically increased by the CI/CD pipeline based on your commit message format.

Production Release

If you push to the main branch and the commit message contains, for example, the prefix feat:, fix: or perf: a new release will be created automatically. You can use the keyword BREAKING CHANGE in the commit message to trigger a major release. Use chore: or omit the prefix if you do not want a new release to be created.

Warning: This release will be public and affects all services using the SDK in production.

Staging / Testing Release

If you want to create a release only for the testing environment (pre-release), perform the following steps:

  1. Create a new branch from main and name it dev (make sure you delete an old dev branch). This branch is used for pre-releases and its commits are not automatically released.
  2. In the dev branch open setup.py file and increase the version number and add the suffix rcX to it, where X is the release candidate number. If the version number is for instance 12.1.0, then the new version number should be 12.1.1rc1.
  3. Push your changes to the dev branch.
  4. Git to the GitHub repository and click an on Releases.
  5. Click on Draft a new release.
  6. Click on Choose a tag. Enter the new version number prefixed by vin the Tag version field, e.g., v12.1.1rc1.
  7. Select the dev branch in the Target field.
  8. Enter as title the tag name and add a description for the release.
  9. Select This is a pre-release and click on Publish release.

Do not forget to merge your changes back to the main branch once you want to release these changes to production.