Skip to main content

Qibocal

codecov PyPI - Version PyPI - Python Version Documentation

Qibocal provides calibration protocols using Qibo and Qibolab.

Qibocal key features:

  • Declarative inputs using runcard.

  • Generation of a report.

Documentation

Qibocal documentation is available at https://qibo.science/qibocal/stable/.

Installation

The package can be installed by source:

git clone https://github.com/qiboteam/qibocal.git
cd qibocal
pip install .

Developer instructions

For development make sure to install the package using poetry and to install the pre-commit hooks:

git clone https://github.com/qiboteam/qibocal.git
cd qibocal
poetry install
pre-commit install

Minimal working example

Here is an example on how to run a Rabi experiment in Qibocal.

from qibocal import create_calibration_platform
from qibocal.protocols import rabi_amplitude

# create platform
platform = create_calibration_platform("qubit")

# define qubits where the protocols will be executed
targets = [0]

# define protocol parameters
params = rabi_amplitude.parameters_type.load(dict(
        min_amp=0.01,
        max_amp=0.2,
        step_amp=0.02,
        nshots=2000,
        pulse_length=40,
        ))

# acquire
platform.connect()
data, acquisition_time = rabi_amplitude.acquisition(
                                                    params=params,
                                                    platform=platform,
                                                    targets=targets
                                                    )
platform.disconnect()

# post-processing
results, fit_time = rabi_amplitude.fit(data=data)

# visualize the results
plots, table = rabi_amplitude.report(data=data, results=results, target=target[0])
plots[0].show()

Rabi

The table is written in HTML and can be visualized in Python with

from IPython import display
display.HTML(table)

Table

Running a protocol through a runcard

The same experiment can also be run using the following yaml file

platform: qubit
targets: [0]
actions:
- id: rabi
  operation: rabi_amplitude
  parameters:
    min_amp: 0.01
    max_amp: 0.2
    step_amp: 0.02
    nshots: 2000
    pulse_length: 40

To run the protocol Qibocal uses the qq run command

qq run <runcard> -o <output_folder>

if <output_folder> is specified, the results will be saved in it, otherwise qq will automatically create a default folder containing the current date and the username.

Uploading reports to server

In order to upload the report to a centralized server, send to the server administrators your public ssh key (from the machine(s) you are planning to upload the report) and then use the qq upload <output_folder> command. This program will upload your report to the server and generate an unique URL.

Contributing

Contributions, issues and feature requests are welcome! Feel free to check GitHub issues

Citation policy

arXiv DOI

If you use the package please refer to the documentation for citation instructions

Ongoing development

A non-exhaustive list of possible protocols to be implemented in Qibocal is collected here.

Metadata

Release files for qibocal 0.2.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qibocal 0.2.6
File Size Uploaded
qibocal-0.2.6.tar.gz 772.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qibocal 0.2.6
File Interpreter ABI Platform
qibocal-0.2.6-py3-none-any.whl Python 3 none any Details

Total release size: 1.7 MB

Release files / qibocal-0.2.6.tar.gz

Download URL qibocal-0.2.6.tar.gz
Size 772.3 kB
Tags Source
SHA-256 checksum
How to use checksums
35d71bedf8c26f47166de5b34abecfc9e734c356309d7173212e7af9b0a4268e
BLAKE2b-256 checksum
How to use checksums
3bc3ab9b2d4ca2096bcf86dbcb847374842eebc60f50d6b4e1b04776860bccac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / qibocal-0.2.6-py3-none-any.whl

Download URL qibocal-0.2.6-py3-none-any.whl
Size 958.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e009c3154bffa7d7d48bd6dfe7d8715edca4660cb0fba6eccc5113f14b2d8999
BLAKE2b-256 checksum
How to use checksums
17bea74ea4b8a24c06a7670a3f770f5dc676e72696ec1b57c15f5dfda44b6508
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.2.6 This release

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page