Skip to content

iqm-finland/iqm-client

Repository files navigation

CI badge Release badge Black badge

IQM Client

Client-side Python library for connecting to an IQM quantum computer.

Installation

IQM client is not intended to be used directly by human users. For executing code on an IQM quantum computer, you can use for example the Qiskit on IQM library.

If you want just this library, though, you can install it from the Python Package Index (PyPI), e.g.:

$ uv pip install iqm-client

Note

uv is highly recommended for practical Python environment and package management.

Supplied within the Python package there is an additional requirements.txt file containing locked, security scanned dependencies. The file can be used to constrain installed dependencies either directly from the repo or by extracting it from the PyPI package.

$ uv pip install --constraint requirements.txt iqm-client

Contributing

Format your code:

$ ./format

Run the tests:

$ ./test

Update the requirements. This is necessary when you add a new dependency or update an existing one in pyproject.toml. After this, any changes in the lockfile requirements.txt have to be committed. The script upgrades locked dependencies defined in pyproject.toml within the given version ranges. However, transitive dependencies are deliberately not upgraded automatically.

$ python update-requirements.py

Documentation

Documentation for the latest version is available online. You can build documentation for any older version locally by cloning the Git repository, checking out the corresponding tag, and running the docs builder. For example, to build the documentation for version 20.12:

$ git clone [email protected]:iqm-finland/iqm-client.git
$ cd iqm-client
$ git checkout 20.12
$ ./docbuild

(Unless you need to build documentation for multiple versions, consider passing git clone options to only clone the commit for the specific version tag, e.g. --branch 15.4 --depth 1 for version 15.4. This will be much faster than cloning the full repository, because some large files have been stored in the commit history.)

./docbuild will build the documentation at ./build/sphinx/html. This command requires the sphinx and sphinx-book-theme Python packages (see the docs optional dependency in pyproject.toml); you can install the necessary packages with e.g. uv pip install -e ".[dev,docs]"

Copyright

IQM client is free software, released under the Apache License, version 2.0.

Copyright 2021-2024 IQM client developers.