src/ail_ref/registry.py

Read-only source from the unchanged 0.3.4 kit. Existing license terms apply.

from __future__ import annotations

import json
from importlib.resources import files
from pathlib import Path


def load_registry(path: str | Path | None = None) -> dict:
    if path is not None:
        return json.loads(Path(path).read_text(encoding="utf-8"))
    resource = files("ail_ref.data").joinpath("ail-core-0.2.json")
    return json.loads(resource.read_text(encoding="utf-8"))


def concept_ids(registry: dict) -> set[str]:
    return {item["id"] for item in registry.get("concepts", [])}