Metadata-Version: 2.1
Name: quantum-serverless
Version: 0.0.2
Summary: UNKNOWN
Home-page: UNKNOWN
License: UNKNOWN
Description: [![Stability](https://img.shields.io/badge/stability-alpha-f4d03f.svg)](https://github.com/Qiskit-Extensions/quantum-serverless/releases)
        [![Client verify process](https://github.com/Qiskit-Extensions/quantum-serverless/actions/workflows/client-verify.yaml/badge.svg)](https://github.com/Qiskit-Extensions/quantum-serverless/actions/workflows/client-verify.yaml)
        [![License](https://img.shields.io/github/license/qiskit-community/quantum-prototype-template?label=License)](https://github.com/qiskit-community/quantum-prototype-template/blob/main/LICENSE.txt)
        [![Code style: Black](https://img.shields.io/badge/Code%20style-Black-000.svg)](https://github.com/psf/black)
        [![Python](https://img.shields.io/badge/Python-3.7%20%7C%203.8%20%7C%203.9%20%7C%203.10-informational)](https://www.python.org/)
        [![Qiskit](https://img.shields.io/badge/Qiskit-%E2%89%A5%200.39.0-6133BD)](https://github.com/Qiskit/qiskit)
        
        # Quantum Serverless client
        
        Client part of quantum serverless project. 
        Installable python library to communicate with provisioned infrastructure.
        
        ### Table of Contents
        
        1. [Installation](#installation)
        2. [Usage](#usage)
        
        ----------------------------------------------------------------------------------------------------
        
        ### Installation
        
        ```shell
        pip install quantum_serverless
        ```
        
        or local installation from source
        
        ```shell
        pip install -e .
        ```
        
        ----------------------------------------------------------------------------------------------------
        
        
        ### Usage
        
        ```python
        from quantum_serverless import QuantumServerless, run_qiskit_remote, get
        
        # 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_qiskit_function():
            # Doing compute things here!
            return "Computed result"
        
        
        # 2. Next let's create out serverless object to control 
        # where our remote function will be executed
        serverless = QuantumServerless()
        
        # 3. create serverless context
        with serverless: # or serverless.provider("<NAME_OF_AVAILABLE_PROVIDER>")
            # 4. run our function and get back reference to it
            # as now our function it remote one
            function_reference = my_qiskit_function()
            # 4.1 or we can run N of them in parallel
            N = 4
            function_references = [my_qiskit_function() for _ in range(N)]
        
            # 5. to get results back from reference
            # we need to call `get` on function reference
            print(get(function_reference))
            print(get(function_references))
        ```
        
Keywords: quantum serverless qiskit
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.7
Description-Content-Type: text/markdown
