A library for quantum machine learning following the sklearn standard.
Project description
sQUlearn 0.1.0
Note that this is an early access version! Not everything that is described is already working 100%.
Prerequisites
The package requires at least Python 3.9.
Installation
Stable Release
To install the stable release version of sQUlearn, run the following command:
pip install squlearn
Alternatively, you can install sQUlearn directly from GitHub via
pip install git+ssh://git@github.com:sQUlearn/squlearn.git
Examples
There are several more elaborate examples available in the folder ./examples
which display the features of this package.
Tutorials for beginners can be found at ./examples/tutorials
.
Contribution
If you plan to contribute to this project, please read this section carefully and check that your contribution fits the desired process and style.
Install development version
To contribute to sQUlearn install the package from the source code:
git clone https://github.com/sQUlearn/squlearn.git && cd squlearn
pip install -e .
Devtools
Install the recommended tools with
pip install -r requirements_dev.txt
Style Guide
Code Style
We try to match all of our python code closely to the PEP8 style guide with the exception of using a line length of 99
. To ensure this we use the Black formater with the configuration specified in pyproject.toml. To format your code, run
black path/to/folder/or/file.py
from the top level directory to ensure the use of the pyproject.toml
configuration file.
We don't enforce but highly encourage the use of the pylint linter to check newly written code and adapt accordingly. To run the linter with the desired configuration run
pylint path/to/folder/or/file.py
from the top level directory to again ensure the use of the pyproject.toml
configuration file. Running pylint before and after the contribution shouldn't add violations and/or lower the overall code score.
Docstrings
We furthermore desire to use the Google Python Style Guide for our Docstrings. Generally we at least expect
- A one-line summary, terminated by a period, and
- a description of the class/method.
For classes we furthermore expect
- A list of attributes.
For methods we furthermore expect
- A list of arguments, and
- A list of return values.
Git Flow
We use the Git Flow branch structure specified here except for release branches.
License
Imprint
This project is maintained by the quantum computing group at the Fraunhofer Institute for Manufacturing Engineering and Automation IPA. It started as a collection of implementations of quantum machine learning methods.
https://www.ipa.fraunhofer.de/en/expertise/cyber-cognitive-intelligence-cci/quantencomputing.html
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.