Skip to content

Provider

oqd_cloud.provider

Provider

Source code in oqd-cloud/src/oqd_cloud/provider.py
class Provider:
    def __init__(self, host: str = "http://localhost", port: int = 8000):
        """

        Args:
            url: URL for the server
        """
        url = f"{host}:{port}"
        self.url = url

        # get available backends
        self.backends = Backends(available=[])
        response = requests.get(self.url + "/available_backends")
        backends = Backends.model_validate(response.json())
        if response.status_code == 200:
            self.backends = backends

    @property
    def available_backends(self):
        return self.backends.available

    @property
    def registration_url(self):
        return self.url + "/auth/register"

    @property
    def login_url(self):
        return self.url + "/auth/token"

    def job_submission_url(self, backend):
        assert backend in self.available_backends, "Unavailable backend"
        return self.url + f"/submit/{backend}"

    def job_retrieval_url(self, job_id):
        return self.url + f"/retrieve/{job_id}"

    def job_cancellation_url(self, job_id):
        return self.url + f"/cancel/{job_id}"

__init__(host: str = 'http://localhost', port: int = 8000)

Parameters:

Name Type Description Default
url

URL for the server

required
Source code in oqd-cloud/src/oqd_cloud/provider.py
def __init__(self, host: str = "http://localhost", port: int = 8000):
    """

    Args:
        url: URL for the server
    """
    url = f"{host}:{port}"
    self.url = url

    # get available backends
    self.backends = Backends(available=[])
    response = requests.get(self.url + "/available_backends")
    backends = Backends.model_validate(response.json())
    if response.status_code == 200:
        self.backends = backends