""" 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_EXACT, RELEVANCE_HIGH, RELEVANCE_IRRELEVANT, RELEVANCE_LOW, RELEVANCE_NON_IRRELEVANT, VALID_LABELS, normalize_stored_label, ) 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_EXACT", "RELEVANCE_HIGH", "RELEVANCE_IRRELEVANT", "RELEVANCE_LOW", "RELEVANCE_NON_IRRELEVANT", "SearchEvaluationFramework", "VALID_LABELS", "build_cli_parser", "create_web_app", "ensure_dir", "main", "normalize_stored_label", "render_batch_report_markdown", "sha1_text", "utc_now_iso", "utc_timestamp", ]