from __future__ import annotations
from contextlib import contextmanager
from typing import Iterator
try:
from net import ( AggregateResult,
CachePolicy,
ExecuteOptions,
GroupKey,
InMemoryChainReader,
JoinedRow,
LineageEntry,
MeshDbError,
MeshQuery,
MeshQueryRunner,
Predicate,
QueryBuilder,
ResultRow,
WindowBoundary,
)
except ImportError as e: raise ImportError(
"MeshDB SDK symbols not present in `net._net`. Rebuild the wheel "
"with `--features meshdb`, e.g. `maturin develop --features meshdb`."
) from e
__all__ = [
"AggregateResult",
"CachePolicy",
"ExecuteOptions",
"GroupKey",
"InMemoryChainReader",
"JoinedRow",
"LineageEntry",
"MeshDbError",
"MeshQuery",
"MeshQueryRunner",
"Predicate",
"QueryBuilder",
"ResultRow",
"WindowBoundary",
"runner_cm",
]
@contextmanager
def runner_cm(reader: InMemoryChainReader) -> Iterator[MeshQueryRunner]:
runner = MeshQueryRunner(reader)
try:
yield runner
finally:
del runner