Skip to main content

Getting Started

Installation

pip install capo-sso

Usage

from capo_sso import AsyncSSOClient


async def main():
    async with AsyncSSOClient() as sso:
        # Example: call the get_role_credentials operation
        response = await sso.get_role_credentials()
        print(response["role_credentials"])

Pagination

Some operations in this SDK support pagination. If the operation supports pagination it will have an iter_ prefixed method that returns an async iterator.

from capo_sso import AsyncSSOClient


async def main():
    async with AsyncSSOClient() as sso:
        # Example: paginate over list_account_roles
        async for item in sso.iter_list_account_roles():
            print(item)

Error Handling

The SDK raises exceptions for errors returned by the API. Catch them to handle failures gracefully.

from capo_sso import AsyncSSOClient
from capo_sso.error import InvalidRequestException


async def main():
    async with AsyncSSOClient() as sso:
        try:
            await sso.get_role_credentials()
        except InvalidRequestException as e:
            print(f"Error: {e}")
            print(e.data)  # additional error data

Retrying

The SDK retries failed operations automatically. Retry behaviour follows the Smithy specification: errors are retried based on their is_retryable and is_throttling_error attributes. Throttling errors use a longer base delay. Network-level failures (connection errors and timeouts) are also retried. Non-retryable errors, such as client errors without the @retryable trait, are raised immediately without further attempts.

The number of attempts defaults to 3 and can be changed at the client level via retry_max_attempts, or per call via config_overrides.

from capo_sso import AsyncSSOClient


async def main():
    async with AsyncSSOClient() as sso:
        # Default: 3 attempts for every operation
        response = await sso.get_role_credentials()

        # Override per operation
        response = await sso.get_role_credentials(config_overrides={"retry_max_attempts": 5})

        # Disable retries for this call
        response = await sso.get_role_credentials(config_overrides={"retry_max_attempts": 1})

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

capo_sso-0.6.0.tar.gz (41.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

capo_sso-0.6.0-py3-none-any.whl (62.9 kB view details)

Uploaded Python 3

File details

Details for the file capo_sso-0.6.0.tar.gz.

File metadata

  • Download URL: capo_sso-0.6.0.tar.gz
  • Upload date:
  • Size: 41.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for capo_sso-0.6.0.tar.gz
Algorithm Hash digest
SHA256 31dc90c9aae0e33374d7a5ccb105609983a6217d743a71c07378fef70d40661c
MD5 c4de54ce560d5a308f8bb67471f5cb47
BLAKE2b-256 1c7c917d729d2de8a3c458f108562023d6dbdb7b6e9e46bcac6d5b163a69d326

See more details on using hashes here.

File details

Details for the file capo_sso-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: capo_sso-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 62.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for capo_sso-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b640f29a878baa8783e2e61b02b7bdddcdf1280a226669bcd2c9ccae372834b9
MD5 f3729d6199cca8317238397d53b69251
BLAKE2b-256 9d10c722989db6874b95bec7e6f606ef6e02450480913c9197898c910abac1e8

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page