Source code for coincident.datasets.general

"""
Basic dataset metadata structure
"""

# from pydantic.dataclasses import dataclass, Field # type: ignore[attr-defined]
from __future__ import annotations

from dataclasses import dataclass, field
from typing import Any


# NOTE: default to None for all of these?
[docs] @dataclass class Dataset: """Essential metadata for supported datasets""" alias: str # nickname has_stac_api: bool | None = None # whether or not its a STAC API collections: list[str] = field( default_factory=list ) # STAC collection names of specific datasets search: str | None = None # search API endpoint start: str | None = None # first acquisition date end: str | None = None # last acquisition date (or None if ongoing) spatial_ref: str | None = ( None # override spatial reference system (EPSG code or WKT2/PROJJSON string) ) type: str | None = None # lidar | stereo | altimeter | sar provider: str | None = None # usgs, maxar, nasa, microsoft, csda provider_docs: str | None = None # URL to provider documentation # Pystac client default limit=100, but seems set by API endpoint as well (nasa cmr-stac=25) stac_kwargs: dict[str, Any] = field(default_factory=lambda: {"limit": 1000})