"""Slices AIIS Client API."""

import logging

from .aiis import AIInfraServiceClient
from .client import (
    SlicesClientWithAIInfraService,
    SlicesExperimentClientWithAIInfraService,
    SlicesProjectClientWithAIInfraService,
)

__all__ = [
    "SlicesClientWithAIInfraService",
    "SlicesProjectClientWithAIInfraService",
    "SlicesExperimentClientWithAIInfraService",
    "AIInfraServiceClient",
]

# All code in this library uses standard python logging.
# But since this library root logger does not propagate, nothing is done with this logging by default.
# Any app using this library that want to access the logging needs to add an event handler to this logger.
# Example:
#   slices_clientlib_core_logger = logger.getLogger("slices_clientlib_core")
#   slices_clientlib_core_logger.setLevel(logging.DEBUG)
#   slices_clientlib_core_logger.addHandler(logging.StreamHandler())

logger = logging.getLogger(__name__)
NULL_HANDLER = logging.NullHandler()
logger.addHandler(NULL_HANDLER)  # Use NULL_HANDLER to prevent warning "No handlers could be found for logger XXX"
logger.propagate = False  # Do not propagate to parent loggers
logger.setLevel(logging.DEBUG)
