Metadata-Version: 2.4
Name: qibo-client
Version: 0.2.3
Summary: Qibo client interface.
License: Apache-2.0
License-File: LICENSE
Author: The Qibo team
Requires-Python: >=3.10,<3.14
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Dist: packaging (>=24.1,<25.0)
Requires-Dist: python-dateutil (>=2.9.0.post0,<3.0.0)
Requires-Dist: qibo (>=0.3.0,<0.4.0)
Requires-Dist: requests (>=2.31.0,<3.0.0)
Requires-Dist: rich (>=14.1.0,<15.0.0)
Requires-Dist: tabulate (>=0.9.0,<0.10.0)
Project-URL: Documentation, https://qibo.science/qibo-client/stable
Project-URL: Homepage, https://qibo.science/
Project-URL: Repository, https://github.com/qiboteam/qibo-client/
Description-Content-Type: text/markdown

# Qibo client

The documentation of the project can be found
[here](https://qibo.science/qibo-client/stable/).

## Install

Install first the package dependencies with the following commands.

We recommend to start with a fresh virtual environment to avoid dependencies
conflicts with previously installed packages.

```bash
python -m venv ./env
source activate ./env/bin/activate
```

The `qibo-client` package can be installed through `pip`:

```bash
pip install qibo-client
```

## Quick start

Once installed, the provider allows to run quantum circuit computations on remote labs using Qibo.

:warning: Note: to run jobs on the remote cluster it is mandatory to own a
validated account.
Please, sign up to your preferred institution to
obtain the needed token to run computations on the cluster.

The following snippet provides a basic usage example.
Replace the `your-token` string with your user token received during the
registration process. To check which devices are available with your account
please visit the dashboard at your institution.

```python
import qibo
import qibo_client

# create the circuit you want to run
circuit = qibo.models.QFT(5)

# authenticate to server through the client instance
token = "your-token"
url = "your-api-endpoint"
client = qibo_client.Client(token, url)

# run the circuit
device = "device_name"
project = "project_name"
job = client.run_circuit(circuit, device=device, project=project, nshots=1024)
result = job.result()
print(result)
```

The `device` name indicates the specific system or machine that will process the
job. The `project` name corresponds to the project or group to which the user
belongs and which will be charged for the service usage.

