Skip to main content

Stability Client verify process License Code style: Black Python Qiskit

Qiskit Serverless client

diagram

Installation

To install the latest release of the client, run:

pip install qiskit-serverless

Ray is an optional dependency, needed only for the Ray runner. Install it with the ray extra:

pip install qiskit-serverless[ray]

To install an editable package from source, run:

pip install -r requirements.txt -r requirements-dev.txt
pip install -e .

Documentation

Full docs can be found at https://qiskit.github.io/qiskit-serverless/

Usage

Step 1: write funtion in ./src/function.py

from qiskit_serverless import distribute_task, get, get_arguments, save_result

from qiskit import QuantumCircuit
from qiskit.circuit.random import random_circuit
from qiskit.primitives import StatevectorSampler as Sampler
from qiskit.quantum_info import SparsePauliOp

# 1. let's annotate out function to convert it
# to distributed async function
# using `distribute_task` decorator
@distribute_task()
def distributed_sample(circuit: QuantumCircuit):
    """Calculates quasi dists as a distributed function."""
    return Sampler().run([(circuit)]).result()[0].data.meas.get_counts()

# 2. our program will have one arguments
# `circuits` which will store list of circuits
# we want to sample in parallel.
# Let's use `get_arguments` function
# to access all program arguments
arguments = get_arguments()
circuits = arguments.get("circuits", [])

# 3. run our functions in a loop
# and get execution references back
function_references = [
    distributed_sample(circuit)
    for circuit in circuits
]

# 4. `get` function will collect all
# results from distributed functions
collected_results = get(function_references)

# 5. `save_result` will save results of program execution
# so we can access it later
save_result({
    "quasi_dists": collected_results
})

Step 2: run function

from qiskit_serverless import ServerlessClient, QiskitFunction
from qiskit.circuit.random import random_circuit

client = ServerlessClient(
    token="<TOKEN>",
    host="<GATEWAY_ADDRESS>",
)

# create function
function = QiskitFunction(
    title="Quickstart",
    entrypoint="program.py",
    working_dir="./src"
)
client.upload(function)

# create inputs to our program
circuits = []
for _ in range(3):
    circuit = random_circuit(3, 2)
    circuit.measure_all()
    circuits.append(circuit)

# run program
my_function = client.get("Quickstart")
job = my_function.run(circuits=circuits)

Step 3: monitor job status

job.status()
# 'DONE'

# or get logs
job.logs()

Step 4: get results

job.result()
# {'quasi_dists': [
# {'101': 902, '011': 66, '110': 2, '111': 37, '100': 17},
# {'100': 626, '101': 267, '001': 49, '000': 82},
# {'010': 145, '100': 126, '011': 127, '001': 89, '110': 173, '111': 166, '000': 94, '101': 104}
# ]}

Metadata

Release files for qiskit-serverless 0.35.1

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

Source distribution (sdist)

Source distribution for qiskit-serverless 0.35.1
File Size Uploaded
qiskit_serverless-0.35.1.tar.gz 70.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qiskit-serverless 0.35.1
File Interpreter ABI Platform
qiskit_serverless-0.35.1-py3-none-any.whl Python 3 none any Details

Total release size: 163.0 kB

Release files / qiskit_serverless-0.35.1.tar.gz

Download URL qiskit_serverless-0.35.1.tar.gz
Size 70.7 kB
Tags Source
SHA-256 checksum
How to use checksums
dc584ca5095d5e7cf977c201145e661a242f80d35f53b5073e792372a76efa94
BLAKE2b-256 checksum
How to use checksums
689ab2f27d41695e7cf9778c04a7031393e4b9715aa509d9d4b07e263f00f816
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / qiskit_serverless-0.35.1-py3-none-any.whl

Download URL qiskit_serverless-0.35.1-py3-none-any.whl
Size 92.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
25a46a6d3a9852d879763d9eef2228bcb29c3f0cd6deda5f606298d6b1821807
BLAKE2b-256 checksum
How to use checksums
77067644ce6843fd3720b23b07be91067876c076f3fa359410da177acc4b434a
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.35.1 This release

2 release files

0.35.0

2 release files

0.34.0

2 release files

0.31.0

2 release files

0.30.1

2 release files

0.29.0

2 release files

0.27.0

1 release file

0.26.1

1 release file

0.26.0

1 release file

0.25.4

1 release file

0.25.3

1 release file

0.25.2

1 release file

0.25.1

1 release file

0.25.0

1 release file

0.24.0

1 release file

0.23.0

1 release file

0.21.1

2 release files

0.21.0

2 release files

0.20.0

2 release files

0.18.1

2 release files

0.17.0

2 release files

0.16.3

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.11.0

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