Skip to content

Module stac_fastapi.core.extensions

elasticsearch extensions modifications.

Sub-modules

Classes

CollectionsSearchEndpointExtension

class CollectionsSearchEndpointExtension(
    client: Optional[stac_fastapi.types.core.BaseCoreClient] = None,
    settings: dict = None,
    GET: Optional[Type[Union[pydantic.main.BaseModel, stac_fastapi.types.search.APIRequest]]] = None,
    POST: Optional[Type[Union[pydantic.main.BaseModel, stac_fastapi.types.search.APIRequest]]] = None,
    conformance_classes: Optional[List[str]] = None
)

Collections search endpoint extension.

This extension adds a dedicated /collections-search endpoint for collection search operations.

Ancestors (in MRO)

  • stac_fastapi.types.extension.ApiExtension
  • abc.ABC

Class variables

GET
POST

Static methods

from_extensions

def from_extensions(
    extensions: List[stac_fastapi.types.extension.ApiExtension]
) -> 'CollectionsSearchEndpointExtension'

Create a CollectionsSearchEndpointExtension from a list of extensions.

Parameters:

Name Type Description Default
extensions None List of extensions to include in the CollectionsSearchEndpointExtension. None

Returns:

Type Description
CollectionsSearchEndpointExtension A new CollectionsSearchEndpointExtension instance.

Methods

collections_search_get_endpoint

def collections_search_get_endpoint(
    self,
    request: starlette.requests.Request
) -> Union[stac_fastapi.types.stac.Collections, starlette.responses.Response]

GET /collections-search endpoint.

Parameters:

Name Type Description Default
request None Request object. None

Returns:

Type Description
Collections Collections object.

collections_search_post_endpoint

def collections_search_post_endpoint(
    self,
    request: starlette.requests.Request,
    body: dict
) -> Union[stac_fastapi.types.stac.Collections, starlette.responses.Response]

POST /collections-search endpoint.

Parameters:

Name Type Description Default
request None Request object. None
body None Search request body. None

Returns:

Type Description
Collections Collections object.

create_endpoints

def create_endpoints(
    self
) -> None

Create endpoints for the extension.

get_request_model

def get_request_model(
    self,
    verb: str = 'GET'
) -> Optional[pydantic.main.BaseModel]

Return the request model for the extension.method.

The model can differ based on HTTP verb

register

def register(
    self,
    app: fastapi.applications.FastAPI
) -> None

Register the extension with a FastAPI application.

Parameters:

Name Type Description Default
app None target FastAPI application. None

Returns:

Type Description
None None

Operator

class Operator(
    /,
    *args,
    **kwargs
)

Defines the set of operators supported by the API.

Ancestors (in MRO)

  • builtins.str
  • stac_pydantic.utils.AutoValueEnum
  • enum.Enum

Class variables

eq
gt
gte
lt
lte
ne

QueryExtension

class QueryExtension(
    conformance_classes: List[str] = NOTHING,
    schema_href: Optional[str] = None
)

Query Extenson.

Override the POST request model to add validation against supported fields

Ancestors (in MRO)

  • stac_fastapi.extensions.core.query.query.QueryExtension
  • stac_fastapi.types.extension.ApiExtension
  • abc.ABC

Class variables

GET
POST

Methods

get_request_model

def get_request_model(
    self,
    verb: str = 'GET'
) -> Optional[pydantic.main.BaseModel]

Return the request model for the extension.method.

The model can differ based on HTTP verb

register

def register(
    self,
    app: fastapi.applications.FastAPI
) -> None

Register the extension with a FastAPI application.

Parameters:

Name Type Description Default
app None target FastAPI application. None

Returns:

Type Description
None None

QueryableTypes

class QueryableTypes(

)

Defines a set of queryable fields.