__init__.py 1.36 KB
"""
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",
]