Skip to main content

No project description provided

Project description

Stability Client verify process License Code style: Black Python Qiskit

Quantum Serverless client

Client part of quantum serverless project. Installable python library to communicate with provisioned infrastructure.

Table of Contents

  1. Installation
  2. Usage

Installation

pip install quantum_serverless

or local installation from source

pip install -e .

Usage

from qiskit import QuantumCircuit
from qiskit.circuit.random import random_circuit
from qiskit.quantum_info import SparsePauliOp
from qiskit_ibm_runtime import Estimator

from quantum_serverless import QuantumServerless, run_qiskit_remote, get, put

# 1. let's annotate out function to convert it
# to function that can be executed remotely
# using `run_qiskit_remote` decorator
@run_qiskit_remote()
def my_function(circuit: QuantumCircuit, obs: SparsePauliOp):
	return Estimator().run([circuit], [obs]).result().values


# 2. Next let's create out serverless object to control
# where our remote function will be executed
serverless = QuantumServerless()

circuits = [random_circuit(2, 2) for _ in range(3)]

# 3. create serverless context
with serverless:
	# 4. let's put some shared objects into remote storage that will be shared among all executions
	obs_ref = put(SparsePauliOp(["ZZ"]))

    # 4. run our function and get back reference to it
    # as now our function it remote one
	function_reference = my_function(circuits[0], obs_ref)

    # 4.1 or we can run N of them in parallel (for all circuits)
	function_references = [my_function(circ, obs_ref) for circ in circuits]

	# 5. to get results back from reference
    # we need to call `get` on function reference
	print("Single execution:", get(function_reference))
	print("N parallel executions:", get(function_references))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quantum_serverless-0.0.5.tar.gz (20.4 kB view details)

Uploaded Source

Built Distribution

quantum_serverless-0.0.5-py3-none-any.whl (35.4 kB view details)

Uploaded Python 3

File details

Details for the file quantum_serverless-0.0.5.tar.gz.

File metadata

  • Download URL: quantum_serverless-0.0.5.tar.gz
  • Upload date:
  • Size: 20.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.15

File hashes

Hashes for quantum_serverless-0.0.5.tar.gz
Algorithm Hash digest
SHA256 cfc6a5612fd01bdd25f5897172404b3e5f267b0fa4a17870b39dab34006b6b79
MD5 d5069a8debdb6bea5370fc56a5e4c5c8
BLAKE2b-256 bb770902cb373ca87a47250e8fc0bc4ead57e3b9c97ea43387c5a1463f8559b0

See more details on using hashes here.

File details

Details for the file quantum_serverless-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for quantum_serverless-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b2ac5395ecc9c031733c3a2ee1b20a6ec8c9b5c9f755167fac8d37dba1c1532f
MD5 3bbba5fffe33509f777f3ac5ea8fdd6f
BLAKE2b-256 c7fad4810b69f28203e2460e181c7b03421d3848bea49ef9b398bc75a3088ef4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page