Source code for hipscat.catalog.association_catalog.association_catalog_info
from __future__ import annotations
from dataclasses import dataclass
from hipscat.catalog.catalog_type import CatalogType
from hipscat.catalog.dataset.base_catalog_info import BaseCatalogInfo
@dataclass
[docs]
class AssociationCatalogInfo(BaseCatalogInfo):
"""Catalog Info for a HiPSCat Association Catalog"""
[docs]
primary_catalog: str | None = None
"""Catalog name for the primary (left) side of association"""
[docs]
primary_column: str | None = None
"""Column name in the primary (left) side of join"""
[docs]
primary_column_association: str | None = None
"""Column name in the association table that matches the primary (left) side of join"""
[docs]
join_catalog: str | None = None
"""Catalog name for the joining (right) side of association"""
[docs]
join_column: str | None = None
"""Column name in the joining (right) side of join"""
[docs]
join_column_association: str | None = None
"""Column name in the association table that matches the joining (right) side of join"""
[docs]
contains_leaf_files: bool = False
"""Whether or not the association catalog contains leaf parquet files"""
[docs]
required_fields = BaseCatalogInfo.required_fields + [
"primary_catalog",
"primary_column",
"join_catalog",
"join_column",
"contains_leaf_files",
]
[docs]
DEFAULT_TYPE = CatalogType.ASSOCIATION
[docs]
REQUIRED_TYPE = CatalogType.ASSOCIATION