Skip to content

Render

pystac.render

BestPracticesRenderer

The default renderer, based on STAC best practices.

Source code in src/pystac/render.py
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class BestPracticesRenderer:
    """The default renderer, based on STAC [best practices](https://github.com/radiantearth/stac-spec/blob/master/best-practices.md#catalog-layout)."""

    def get_href(self, stac_object: STACObject, base: str) -> str:
        return "/".join((base, stac_object.id, self.get_file_name(stac_object)))

    def get_file_name(self, stac_object: STACObject) -> str:
        if isinstance(stac_object, Item):
            return f"{stac_object.id}.json"
        elif isinstance(stac_object, Catalog):
            return "catalog.json"
        elif isinstance(stac_object, Collection):
            return "collection.json"
        else:
            raise Exception("unreachable")

Render

Bases: Protocol

Source code in src/pystac/render.py
 9
10
11
12
13
14
class Render(Protocol):
    def get_href(self, stac_object: STACObject, base: str) -> str:
        """Returns a STAC object's href."""

    def get_file_name(self, stac_object: STACObject) -> str:
        """Returns a STAC object's file name."""

get_file_name

get_file_name(stac_object: STACObject) -> str

Returns a STAC object's file name.

Source code in src/pystac/render.py
13
14
def get_file_name(self, stac_object: STACObject) -> str:
    """Returns a STAC object's file name."""

get_href

get_href(stac_object: STACObject, base: str) -> str

Returns a STAC object's href.

Source code in src/pystac/render.py
10
11
def get_href(self, stac_object: STACObject, base: str) -> str:
    """Returns a STAC object's href."""