import logging
from . import envs
_logger = logging.getLogger(__name__)
_loaders_registered = False
def _configure_engine_logging(
engine_logger_name: str,
namespaces: tuple[str, ...] = ("modelexpress",),
) -> None:
engine_logger = logging.getLogger(engine_logger_name)
mx_level = envs.MODEL_EXPRESS_LOG_LEVEL
for namespace in namespaces:
namespace_logger = logging.getLogger(namespace)
if namespace_logger.handlers:
continue
for handler in engine_logger.handlers:
namespace_logger.addHandler(handler)
if mx_level and hasattr(logging, mx_level):
namespace_logger.setLevel(getattr(logging, mx_level))
elif engine_logger.level != logging.NOTSET:
namespace_logger.setLevel(engine_logger.level)
def configure_vllm_logging() -> None:
_configure_engine_logging("vllm", ("modelexpress", "modelexpress_rl"))
def configure_trtllm_logging() -> None:
_configure_engine_logging("TRT-LLM")
def register_modelexpress():
global _loaders_registered
if _loaders_registered:
return
from .engines.vllm import register_modelexpress_loaders as register_vllm_loaders
register_vllm_loaders()
_loaders_registered = True
_logger.debug("ModelExpress vLLM integrations registered")
def register_modelexpress_loaders():
register_modelexpress()
from .client import MxClient from .gds_loader import MxGdsLoader from .gds_transfer import GdsTransferManager from .metadata.publisher import PublisherThread from .model_client import ModelCacheClient
__all__ = [
"GdsTransferManager",
"ModelCacheClient",
"MxClient",
"MxGdsLoader",
"PublisherThread",
"configure_trtllm_logging",
"configure_vllm_logging",
"register_modelexpress",
"register_modelexpress_loaders",
]