Skip to main content

AWS-native STAC-based processing pipeline

Project description

Cirrus

build-status-image coverage-status-image pypi-version

Cirrus is a STAC-based geospatial processing pipeline platform, implemented using a scalable architecture deployed on AWS. Cirrus provides the generic infrastructure for processing, allowing a user to focus on implementing the specific processing logic for their data.

architecture-overview

As input, Cirrus takes a STAC ItemCollection along with a process definition block. That input is called a "payload" and follows the Payload model defined in the stac-task package, with slightly tighter requirements on the presence and content of the process definition block.

An input payload is run through a workflow that generates one or more output STAC Items. These output Items are added to the Cirrus static STAC catalog in S3, and are also broadcast via an SNS topic. Subscriptions to that topic can trigger additional workflows or external processes, such as indexing into a STAC API catalog (e.g., stac-server).

Cirrus workflows range from the simple publishing of unmodified input items to the complex transformation of input Items and generation of wholly-new output Items. The current state of a payload in a processing pipeline is tracked in a state database to prevent duplicate processing and allow for a user to follow the state of any input payload through the pipeline.

As shown in this high-level overview of Cirrus, users input data to Cirrus through the use of feeders. Feeders are simply programs that get/generate some type of STAC metadata, combine it with processing parameters, and pass it into Cirrus as a payload.

Cirrus Development

If developing new code for cirrus-geo, checkout the Contributing Guide.

Documentation

Documentation for deploying, using, and customizing Cirrus is contained within the docs directory:

  • Learn how to get started
  • Understand the architecture of Cirrus and key concepts
  • Use Cirrus to process input data and publish resulting STAC Items
  • Cirrus features several component types that each represent a specific role within the Cirrus architecture

About

Cirrus is an Open-Source pipeline for processing geospatial data in AWS. Cirrus was developed by Element 84 originally under a NASA ACCESS project called Community Tools for Analysis of NASA Earth Observation System Data in the Cloud.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cirrus_geo-1.3.2.tar.gz (476.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cirrus_geo-1.3.2-py3-none-any.whl (64.1 kB view details)

Uploaded Python 3

File details

Details for the file cirrus_geo-1.3.2.tar.gz.

File metadata

  • Download URL: cirrus_geo-1.3.2.tar.gz
  • Upload date:
  • Size: 476.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cirrus_geo-1.3.2.tar.gz
Algorithm Hash digest
SHA256 fc5b9f7dbf7d9ab92364f33e6c24748f1713ae89f428a12364b5221564b9f6d7
MD5 77a937151e6c3fb7c4129a813e548fb5
BLAKE2b-256 d74a99e763b25f11c3949d02aceeaaa760f0ac021a029f0dea1a20f1a2223468

See more details on using hashes here.

Provenance

The following attestation bundles were made for cirrus_geo-1.3.2.tar.gz:

Publisher: python-publish.yml on cirrus-geo/cirrus-geo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cirrus_geo-1.3.2-py3-none-any.whl.

File metadata

  • Download URL: cirrus_geo-1.3.2-py3-none-any.whl
  • Upload date:
  • Size: 64.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cirrus_geo-1.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7f41349e84188ea7e44f51d6ba5300cc4808f92df84534d1a9d1d34f20a5d1de
MD5 0bc97af276dae75fa9f79ea39f5a3e3b
BLAKE2b-256 52962af1a49032d502ed9f88e1812145d3fdc6bdd93374fb3d40718214288175

See more details on using hashes here.

Provenance

The following attestation bundles were made for cirrus_geo-1.3.2-py3-none-any.whl:

Publisher: python-publish.yml on cirrus-geo/cirrus-geo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page