Module stac_fastapi.core.catalogs_client¶
Catalogs client implementation for multi-tenant catalogs extension.
Variables¶
python3
logger
Classes¶
CatalogsClient¶
python3
class CatalogsClient(
database: stac_fastapi.core.base_database_logic.BaseDatabaseLogic,
catalog_serializer: stac_fastapi.core.serializers.CatalogSerializer = <class 'stac_fastapi.core.serializers.CatalogSerializer'>,
collection_serializer: stac_fastapi.core.serializers.CollectionSerializer = <class 'stac_fastapi.core.serializers.CollectionSerializer'>,
item_serializer: stac_fastapi.core.serializers.ItemSerializer = <class 'stac_fastapi.core.serializers.ItemSerializer'>
)
Catalogs client implementation for the multi-tenant catalogs extension.
This client implements the AsyncBaseCatalogsClient interface and delegates to the database layer for all catalog operations.
Ancestors (in MRO)¶
- stac_fastapi_catalogs_extension.client.AsyncBaseCatalogsClient
- abc.ABC
Methods¶
create_catalog¶
python3
def create_catalog(
self,
catalog: stac_pydantic.catalog.Catalog,
request: starlette.requests.Request | None = None,
**kwargs
) -> stac_pydantic.catalog.Catalog | starlette.responses.Response
Create a new catalog.
create_catalog_collection¶
python3
def create_catalog_collection(
self,
catalog_id: str,
collection: stac_pydantic.collection.Collection | stac_fastapi_catalogs_extension.types.ObjectUri,
request: starlette.requests.Request | None = None,
**kwargs
) -> stac_pydantic.collection.Collection | starlette.responses.Response
Create a new collection or link an existing collection to catalog.
create_sub_catalog¶
python3
def create_sub_catalog(
self,
catalog_id: str,
catalog: stac_pydantic.catalog.Catalog | stac_fastapi_catalogs_extension.types.ObjectUri,
request: starlette.requests.Request | None = None,
**kwargs
) -> stac_pydantic.catalog.Catalog | starlette.responses.Response
Create a new catalog or link an existing catalog as a sub-catalog.
delete_catalog¶
python3
def delete_catalog(
self,
catalog_id: str,
request: starlette.requests.Request | None = None,
**kwargs
) -> None
Delete a catalog.
get_catalog¶
python3
def get_catalog(
self,
catalog_id: str,
request: starlette.requests.Request | None = None,
**kwargs
) -> stac_pydantic.catalog.Catalog | starlette.responses.Response
Get a specific catalog by ID.
get_catalog_children¶
python3
def get_catalog_children(
self,
catalog_id: str,
limit: int | None = None,
token: str | None = None,
type: Optional[Literal['Catalog', 'Collection']] = None,
request: starlette.requests.Request | None = None,
**kwargs
) -> stac_fastapi_catalogs_extension.types.Children | starlette.responses.Response
Get all children (Catalogs and Collections) of a specific catalog.
get_catalog_collection¶
python3
def get_catalog_collection(
self,
catalog_id: str,
collection_id: str,
request: starlette.requests.Request | None = None,
**kwargs
) -> stac_pydantic.collection.Collection | starlette.responses.Response
Get a specific collection from a catalog (Scoped Route).
get_catalog_collection_item¶
python3
def get_catalog_collection_item(
self,
catalog_id: str,
collection_id: str,
item_id: str,
request: starlette.requests.Request | None = None,
**kwargs
) -> stac_pydantic.item.Item | starlette.responses.Response
Get a specific item from a collection in a catalog.
get_catalog_collection_items¶
python3
def get_catalog_collection_items(
self,
catalog_id: str,
collection_id: str,
bbox: list[float] | None = None,
datetime: str | datetime.datetime | None = None,
limit: int | None = 10,
token: str | None = None,
request: starlette.requests.Request | None = None,
**kwargs
) -> stac_pydantic.item_collection.ItemCollection | starlette.responses.Response
Get items from a collection in a catalog with search support.
get_catalog_collections¶
python3
def get_catalog_collections(
self,
catalog_id: str,
limit: int | None = None,
token: str | None = None,
request: starlette.requests.Request | None = None,
**kwargs
) -> stac_pydantic.api.collections.Collections | starlette.responses.Response
Get collections linked from a specific catalog.
get_catalog_conformance¶
python3
def get_catalog_conformance(
self,
catalog_id: str,
request: starlette.requests.Request | None = None,
**kwargs
) -> dict | starlette.responses.Response
Get conformance classes specific to this sub-catalog.
get_catalog_queryables¶
python3
def get_catalog_queryables(
self,
catalog_id: str,
request: starlette.requests.Request | None = None,
**kwargs
) -> dict | starlette.responses.Response
Get queryable fields available for filtering in this sub-catalog.
get_catalogs¶
python3
def get_catalogs(
self,
limit: int | None = None,
token: str | None = None,
request: starlette.requests.Request | None = None,
**kwargs
) -> stac_fastapi_catalogs_extension.types.Catalogs | starlette.responses.Response
Get all catalogs with pagination support.
get_sub_catalogs¶
python3
def get_sub_catalogs(
self,
catalog_id: str,
limit: int | None = None,
token: str | None = None,
request: starlette.requests.Request | None = None,
**kwargs
) -> stac_fastapi_catalogs_extension.types.Catalogs | starlette.responses.Response
Get all sub-catalogs of a specific catalog with pagination.
unlink_catalog_collection¶
python3
def unlink_catalog_collection(
self,
catalog_id: str,
collection_id: str,
request: starlette.requests.Request | None = None,
**kwargs
) -> None
Unlink a collection from a catalog.
unlink_sub_catalog¶
python3
def unlink_sub_catalog(
self,
catalog_id: str,
sub_catalog_id: str,
request: starlette.requests.Request | None = None,
**kwargs
) -> None
Unlink a sub-catalog from its parent.
update_catalog¶
python3
def update_catalog(
self,
catalog_id: str,
catalog: stac_pydantic.catalog.Catalog,
request: starlette.requests.Request | None = None,
**kwargs
) -> stac_pydantic.catalog.Catalog | starlette.responses.Response
Update an existing catalog.