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.4.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

quantum_serverless-0.0.4-py3-none-any.whl (34.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: quantum_serverless-0.0.4.tar.gz
  • Upload date:
  • Size: 20.0 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.4.tar.gz
Algorithm Hash digest
SHA256 f712c406b854c32ef38dd417af1ec389da8ddafe30b3a1f40890313297d44374
MD5 a6d48a844b97c2293e3c4dfc3e7e8e75
BLAKE2b-256 8541ad1b16ac53ecbf796f75bd9427e7aaf4955a80eb311cee30331832ba7178

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quantum_serverless-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 05a22a6591496b39addff70c8216487f0ab8bbbf79ac07b1446b10a59507c792
MD5 f44d9aea31b2251072a7d9098104d864
BLAKE2b-256 24d58a66bd0e22bd28f1cd570c786429d8304b9ec81268d8b51f30be11fa3ae5

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