Skip to main content

A Python SDK to connect to the CTI Clarity API server.

Project description

Clarity API SDK for Python

PyPI - Downloads Downloads python

A Python SDK for connecting to the CTI API server, with structured logging included.

Installation

pip install clarity-api-sdk-python

Logging

Logging support is built with structlog.

Set the root logger by setting the environment variable LOG_LEVEL. Otherwise, the default root logging is set to INFO.

"""Example"""

import logging

from cti.logger import initialize_logger, get_logger, ExternalLoggerConfig

initialize_logger(
    external_logger_configurations=[
        ExternalLoggerConfig(name="urllib3"),
        ExternalLoggerConfig(name="httpcore"),
        ExternalLoggerConfig(name="httpx"),
        ExternalLoggerConfig(name="httpx_auth"),
        ExternalLoggerConfig(name="httpx_retries"),
    ],
    handlers=[logging.FileHandler("app.log")]
)

logger_a = get_logger("logger_a")
logger_b = get_logger("logger_b", "WARNING")

# root_logger = logging.getLogger()
# root_logger.setLevel("DEBUG")

logger_a.info("This is info message from logger_a")
logger_a.critical("This is critical message from logger_a")

# Dynamically change the log level of logger_a to WARNING
print("\nChanging logger_a level to WARNING...\n")
logging.getLogger("logger_a").setLevel(logging.WARNING)

logger_a.info("This info message from logger_a should NOT be visible.")
logger_a.warning("This is a new warning message from logger_a.")

logger_b.info("This info message from logger_b should NOT be visible.")
logger_b.warning("This is warning message from logger_b")

# the value will be redacted
logger_b.info("password", extra={"aws_access_key_id", "AKIAIOSFODNN7EXAMPLE"})

Model

Pydantic models.

API

Singleton async client

import asyncio
from cti.api.session import initialize_async_client, close_async_client

async def main():
    await initialize_async_client()
    # ... your application logic ...
    await close_async_client()

if __name__ == "__main__":
    asyncio.run(main())

# In other modules
from cti.api.session import get_async_client

async def fetch_data():
    client = get_async_client()
    response = await client.get(...)
    return response.json()

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

clarity_api_sdk_python-0.3.38.tar.gz (48.9 kB view details)

Uploaded Source

Built Distribution

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

clarity_api_sdk_python-0.3.38-py3-none-any.whl (58.3 kB view details)

Uploaded Python 3

File details

Details for the file clarity_api_sdk_python-0.3.38.tar.gz.

File metadata

  • Download URL: clarity_api_sdk_python-0.3.38.tar.gz
  • Upload date:
  • Size: 48.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for clarity_api_sdk_python-0.3.38.tar.gz
Algorithm Hash digest
SHA256 25d5effa62c7676ad5a22796eebd675abfcc7d92f11172285ccb3515a8cc5d19
MD5 a0eedddfd9c35f313657d8e79373f3e4
BLAKE2b-256 ba68c5205cce81125f7c46f8b7c4106fcb701c860eb91de740e2c96c8d615e48

See more details on using hashes here.

Provenance

The following attestation bundles were made for clarity_api_sdk_python-0.3.38.tar.gz:

Publisher: publish.yml on chesapeake-tech/clarity-api-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clarity_api_sdk_python-0.3.38-py3-none-any.whl.

File metadata

File hashes

Hashes for clarity_api_sdk_python-0.3.38-py3-none-any.whl
Algorithm Hash digest
SHA256 2fac4c0f8de26ee78e10f211d8276fd8306b8e29f816f3cfd4ca52c2fcae8127
MD5 3b5f337ac4a92af5c5b6db1f2250088d
BLAKE2b-256 8a6ee9274fec83fc1b6fc061c104a7b1d226651ef11dec0b14e6531ef3fe6176

See more details on using hashes here.

Provenance

The following attestation bundles were made for clarity_api_sdk_python-0.3.38-py3-none-any.whl:

Publisher: publish.yml on chesapeake-tech/clarity-api-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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