Skip to main content
`Ctrl`+`K`

# pystac.summaries

class pystac.summaries.Summaries(summaries: dict[str, Any], maxcount: int = 25)
  add(prop_key: str, summary: list[Any] | RangeSummary[Any] | dict[str, Any]) → None
  clone() → Summaries

    Clones this object.

    Returns:

      The clone of this object

    Return type:

      Summaries

  combine(summaries: Summaries) → None
  classmethod empty() → Summaries
  get_list(prop: str) → list[Any] | None
  get_range(prop: str) → RangeSummary[Any] | None
  get_schema(prop: str) → dict[str, Any] | None
  is_empty() → bool
  lists: dict[str, list[Any]]
  maxcount: int
  other: dict[str, Any]
  ranges: dict[str, RangeSummary[Any]]
  remove(prop_key: str) → None
  schemas: dict[str, dict[str, Any]]
  to_dict() → dict[str, Any]
  update(summaries: Summaries) → None

class pystac.summaries.RangeSummary(minimum: T, maximum: T)
  classmethod from_dict(d: dict[str, Any]) → RangeSummary[T]
  maximum: T
  minimum: T
  to_dict() → dict[str, Any]
  update_with_value(v: T) → None

class pystac.summaries.Summarizer(fields: str | dict[str, SummaryStrategy] | None = None)

  The Summarizer computes summaries from values, following the definition of fields to summarize.

  The fields to summarize can be provided as a JSON file or as a dictionary of field names and SummaryStrategys. If nothing is provided, a default JSON file will be used.

  Only fields that are in the Item properties can be summarized. Thus, it is not possible to summarize the top-level fields such as id or assets.

  For more information about the structure of the fields JSON file, see: stac-utils/stac-fields

  The default JSON file used is a snapshot of the following file at the time of the pystac release: https://cdn.jsdelivr.net/npm/@radiantearth/stac-fields/fields-normalized.json

  Parameters:

    fields – A string containing the path to the JSON file with field descriptions. Alternatively, a dict with the field names as keys and SummaryStrategys as values. If nothing is passed, a default file with field descriptions will be used.

  summarize(source: Collection | Iterable[Item]) → Summaries

    Creates summaries from items

  summaryfields: dict[str, SummaryStrategy]

class pystac.summaries.SummaryStrategy(*values)
  ARRAY = 'v'
  DEFAULT = True
  DONT_SUMMARIZE = False
  RANGE = 'r'
  SCHEMA = 's'