Source code for hipscatalog_gen

"""Public entrypoints for the HiPS catalog generation library."""

from __future__ import annotations

import tomllib
from importlib.metadata import PackageNotFoundError
from importlib.metadata import version as _pkg_version
from pathlib import Path


def _resolve_version() -> str:
    """Resolve package version from installed metadata or local pyproject."""
    for dist_name in ("hipscatalog-gen", "hipscatalog_gen"):
        try:
            return _pkg_version(dist_name)
        except PackageNotFoundError:
            continue

    try:
        pyproject = Path(__file__).resolve().parents[2] / "pyproject.toml"
        with pyproject.open("rb") as f:
            data = tomllib.load(f)
        return str(data.get("project", {}).get("version", "0.0.0"))
    except Exception:
        return "0.0.0"


# Expose package version for tests and users.
__version__ = _resolve_version()

from .config import Config, load_config  # noqa: E402


[docs] def run_pipeline(*args, **kwargs): """Lazily import and invoke the pipeline entrypoint.""" from .pipeline.main import run_pipeline as _run_pipeline return _run_pipeline(*args, **kwargs)
__all__ = [ "Config", "load_config", "run_pipeline", "__version__", ]