Skip to main content

A client library for accessing the Rigetti QCS API

Project description

Documentation Status

QCS API Client

A client library for accessing the Rigetti QCS API.

Usage

Synchronous Usage

from qcs_api_client.client import build_sync_client
from qcs_api_client.models import ListReservationsResponse
from qcs_api_client.operations.sync import list_reservations

with build_sync_client() as client:
    response: ListReservationsResponse = list_reservations(client=client).parsed

Asynchronous Usage

from qcs_api_client.client import build_async_client
from qcs_api_client.models import ListReservationsResponse
from qcs_api_client.operations.asyncio import list_reservations

# Within an event loop:
async with build_async_client() as client:
    response: ListReservationsResponse = await list_reservations(client=client).parsed

Configuration

By default, initializing your client with build_sync_client or build_async_client will use QCSClientConfiguation.load to load default configuration values. This function accepts:

  • A profile name (env: QCS_PROFILE_NAME). The name of the profile referenced in your settings file. If not provided, QCSClientConfiguation.load will evaluate this to a default_profile_name set in your settings file or "default".
  • A settings file path (env: QCS_SETTINGS_FILE_PATH). A path to the current user's settings file in TOML format. If not provided, QCSClientConfiguation.load will evaluate this to ~/.qcs/settings.toml.
  • A secrets file path (env: QCS_SECRETS_FILE_PATH). A path to the current user's secrets file in TOML format. If not provided, QCSClientConfiguation.load will evaluate this to ~/.qcs/secrets.toml. The user should have write access to this file, as the client will attempt to update the file with refreshed access tokens as necessary.

If you need to specify a custom profile name or path you can initialize your client accordingly:

from qcs_api_client.client import build_sync_client, QCSClientConfiguration
from qcs_api_client.models import ListReservationsResponse
from qcs_api_client.operations.sync import list_reservations

configuration = QCSClientConfiguration.load(
    profile_name='custom',
    secrets_file_path='./path/to/custom/secrets.toml',
    settings_file_path='./path/to/custom/settings.toml',
)

with build_sync_client(configuration=configuration) as client:
    response: ListReservationsResponse = list_reservations(client=client).parsed

Development

The source code for this repository is synchronized from another source. No commits made directly to GitHub will be retained.

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

qcs_api_client-0.25.1.tar.gz (57.2 kB view hashes)

Uploaded Source

Built Distribution

qcs_api_client-0.25.1-py3-none-any.whl (161.8 kB view hashes)

Uploaded Python 3

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