qermit
is a python module for running error-mitigation protocols on quantum processors using pytket
, the Cambridge Quantum python module for interfacing with CQC TKET, a set of quantum programming tools.
This repo containts API documentation, a user manual for getting started with qermit
and source code.
qermit
is compatible with the pytket
1.0 release and so is available for Python 3.9, 3.10 and 3.11 on Linux, MacOS and Windows.
To install, run:
pip install qermit
API documentation can be found at cqcl.github.io/Qermit.
To get a more in depth explanation of Qermit and its features including how to construct custom methods see the manual which includes examples.
Please file bugs on the Github issue tracker.
If you wish to cite Qermit in any academic publications, we generally recommend citing our benchmarking paper for most cases.
Pull requests or feature suggestions are very welcome. To make a PR, first fork the repo, make your proposed
changes on the main
branch, and open a PR from your fork. If it passes
tests and is accepted after review, it will be merged in.
All code should adhere to flake8 formatting, ignoring only E501 and W503
On the CI, mypy is used as a static
type checker and all submissions must pass its checks. You should therefore run
mypy
locally on any changed files before submitting a PR.
To run the tests:
cd
into thetests
directory;- ensure you have installed
pytest
; - run
pytest
.
When adding a new feature, please add a test for it. When fixing a bug, please add a test that demonstrates the fix.