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

Uploaded Source

Built Distribution

quantum_serverless-0.0.6-py3-none-any.whl (39.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for quantum_serverless-0.0.6.tar.gz
Algorithm Hash digest
SHA256 036dc0a1ae53968bce90d640077072e30ecd06a9af2d51d12656220baa97fb9b
MD5 3c31f8a20c354121a6c837cb6780465a
BLAKE2b-256 f7f19d846fe74d3b9d9829abd7abdec838b0bd5c00c356656efee6e11504c899

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quantum_serverless-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 bdc8f601626677d772a974208fe48a40f0f12404a01a94c52d996c43cf220e0f
MD5 7efd3618e03199704e70b89fc5e223e7
BLAKE2b-256 ed62190cfa36abaeac4d6e69fa690846046138bba5468a52f7add63d3c2df683

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