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")

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 async_client

async def fetch_data():
    if async_client:
        response = await async_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.2.13.tar.gz (8.7 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.2.13-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: clarity_api_sdk_python-0.2.13.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for clarity_api_sdk_python-0.2.13.tar.gz
Algorithm Hash digest
SHA256 cc571cec25aa3fe0789e5c69e50e80d8ca08394c5e4cf63bdf322827c9e3db8a
MD5 cc38ef3f4514ce564e36d7e8f40237d1
BLAKE2b-256 af95861a703f33e8e6e0ffe37a2a61dd253a6ef3e402fafa62383c31b0379098

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clarity_api_sdk_python-0.2.13-py3-none-any.whl
Algorithm Hash digest
SHA256 93ff71ebe928ce76ea1aca4a434657e4c7c20c52c5c22178cc4b1b5866c1e22c
MD5 026974f44c3780d78cd66d5511ec0fbc
BLAKE2b-256 90eadf54769df27d68a6ad231ff0d5d96f172b7a1280b586ca77303b78b870fc

See more details on using hashes here.

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