Source code for dftracer.utils

import atexit
from importlib.metadata import PackageNotFoundError, version
from typing import Optional

from .arrow import read_arrow, write_arrow  # noqa: F401
from .dftracer_utils_ext import (  # noqa: F401
    CheckpointIndexer,  # noqa: F401
    DFTUtilsAggregationError,
    DFTUtilsCompressionError,
    DFTUtilsError,
    DFTUtilsIndexerError,
    DFTUtilsIOError,
    DFTUtilsNotFoundError,
    DFTUtilsParseError,
    DFTUtilsPipelineError,
    DFTUtilsQueryError,
    DFTUtilsReaderError,
    DFTUtilsValueError,
    IndexerCheckpoint,  # noqa: F401
    JsonDictValue,  # noqa: F401
    get_log_level,
    set_log_color,
    set_log_level,
)
from .dftracer_utils_ext import (
    get_default_runtime as _get_default_native_runtime,
)
from .dftracer_utils_ext import (
    set_default_runtime as _set_default_native_runtime,
)
from .indexer import (  # noqa: F401
    AggregationConfig,
    Indexer,
    IndexStatus,
)
from .query import Expr, Field  # noqa: F401
from .runtime import Runtime, TaskHandle  # noqa: F401
from .trace_reader import TraceReader  # noqa: F401

_default_wrapper: Optional["Runtime"] = None


[docs] def get_default_runtime() -> "Runtime": """Return the module-level default Runtime (lazy-created).""" global _default_wrapper if _default_wrapper is None: native = _get_default_native_runtime() _default_wrapper = Runtime._from_native(native) return _default_wrapper
[docs] def set_default_runtime(runtime: Optional["Runtime"]) -> None: """Replace the module-level default Runtime (pass None to clear).""" global _default_wrapper if runtime is None: _set_default_native_runtime(None) _default_wrapper = None else: _set_default_native_runtime(runtime._native) _default_wrapper = runtime
@atexit.register def _shutdown_default_runtime() -> None: # Join executor threads while the interpreter is still alive to avoid # teardown hangs. Only act on a lazily-created default; never force one. global _default_wrapper wrapper = _default_wrapper if wrapper is None: return _default_wrapper = None try: wrapper.shutdown(wait=True) except Exception: pass try: __version__ = version("dftracer-utils") except PackageNotFoundError: __version__ = "0.0.0" __all__ = [ "AggregationConfig", "CheckpointIndexer", "Expr", "Field", "Indexer", "IndexerCheckpoint", "IndexStatus", "JsonDictValue", "TraceReader", "Runtime", "TaskHandle", "get_default_runtime", "get_log_level", "read_arrow", "set_default_runtime", "set_log_color", "set_log_level", "write_arrow", ]