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.4.0.tar.gz (41.8 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.4.0-py3-none-any.whl (62.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: capo_sso-0.4.0.tar.gz
  • Upload date:
  • Size: 41.8 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.4.0.tar.gz
Algorithm Hash digest
SHA256 3f6537034e7a202d041291d42b44bff5599df152bdd5da60873db737eb73558a
MD5 6fbbcd4ebdea946a5599034c5953e286
BLAKE2b-256 9e3e923b3b84ced357fcf8b474b9b9a54cae5fb01c02b620ef91a600cfe48e60

See more details on using hashes here.

File details

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

File metadata

  • Download URL: capo_sso-0.4.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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b216f50e57e00596d733ee8cc9e102bb7b684518d9af35fee04d9e5d5565e6be
MD5 b61e7bdc3c2a1e46d51342ac87ef65b4
BLAKE2b-256 9a5a66d1e24cda10d21a42e9ebc30f4325c0e4c44fa1a4dfcdf0cc3f99a3cb86

See more details on using hashes here.

Release history Release notifications | RSS feed

0.6.0

2 files

0.5.0

2 files

This release

0.4.0 This release

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