Skip to content

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.

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.

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.