""" Search evaluation framework: pooled relevance annotation, live metrics, batch reports. Importing this package ensures the project root is on ``sys.path`` (for ``api.*`` imports). """ from __future__ import annotations from .utils import ensure_project_on_path ensure_project_on_path() from .constants import ( # noqa: E402 DEFAULT_ARTIFACT_ROOT, DEFAULT_QUERY_FILE, PROJECT_ROOT, RELEVANCE_LV0, RELEVANCE_LV1, RELEVANCE_LV2, RELEVANCE_LV3, RELEVANCE_NON_IRRELEVANT, VALID_LABELS, ) from .framework import SearchEvaluationFramework # noqa: E402 from .store import EvalStore, QueryBuildResult # noqa: E402 from .cli import build_cli_parser, main # noqa: E402 from .web_app import create_web_app # noqa: E402 from .reports import render_batch_report_markdown # noqa: E402 from .utils import ( # noqa: E402 ensure_dir, sha1_text, utc_now_iso, utc_timestamp, ) __all__ = [ "DEFAULT_ARTIFACT_ROOT", "DEFAULT_QUERY_FILE", "EvalStore", "PROJECT_ROOT", "QueryBuildResult", "RELEVANCE_LV0", "RELEVANCE_LV1", "RELEVANCE_LV2", "RELEVANCE_LV3", "RELEVANCE_NON_IRRELEVANT", "SearchEvaluationFramework", "VALID_LABELS", "build_cli_parser", "create_web_app", "ensure_dir", "main", "render_batch_report_markdown", "sha1_text", "utc_now_iso", "utc_timestamp", ]