"""AI Atlas ontology — canonical vocabularies and deterministic normalisers. Everything here is pure Python (no database, no network): connectors, the writer, the API and the QA checks all import the same definitions so that "Apache 2.0", "apache-2.0" and "Apache-2.0" are one licence, "Text" and "text" one modality, and `unsloth/Qwen3.6-35B-A3B-GGUF` an *artifact* of the model `Qwen3.6-35B-A3B` rather than a new foundation model. Modules licenses SPDX-anchored licence ontology (permissions, restrictions, category) + `normalize_license` openness openness dimensions → carefully labelled category + `normalize_openness` taxonomy small enums (modalities, statuses, organization kinds, hardware kinds, framework kinds) + normalisers models model naming: quantisation/precision detection, evaluation-effort variants, family inference, base-name keys benchmarks benchmark families / variants / metric ranges + comparability of two result configurations anomalies deterministic sanity checks on entity attributes, prices and results (flags, never deletes) """ from aiatlas.ontology.licenses import LICENSES, LicenseInfo, normalize_license from aiatlas.ontology.openness import OPENNESS_CATEGORIES, derive_openness, normalize_openness, openness_dimensions from aiatlas.ontology.taxonomy import ( FRAMEWORK_KINDS, HARDWARE_KINDS, MODALITIES, MODEL_STATUSES, ORG_KINDS, normalize_framework_kind, normalize_hardware_kind, normalize_modalities, normalize_modality, normalize_org_kind, normalize_status, ) __all__ = [ "FRAMEWORK_KINDS", "HARDWARE_KINDS", "LICENSES", "MODALITIES", "MODEL_STATUSES", "OPENNESS_CATEGORIES", "ORG_KINDS", "LicenseInfo", "derive_openness", "normalize_framework_kind", "normalize_hardware_kind", "normalize_license", "normalize_modalities", "normalize_modality", "normalize_openness", "normalize_org_kind", "normalize_status", "openness_dimensions", ]