Skip to main content

AWS-native STAC-based processing pipeline

Project description

# Cirrus

[![build-status-image]][build-status] [![coverage-status-image]][codecov] [![pypi-version]][pypi]

Cirrus is a [STAC](https://stacspec.org/)-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.

![](src/cirrus/docs/images/arch-overview.png)

As input, Cirrus takes a STAC ItemCollection, with a process definition block. That input is called a Cirrus ProcessPayload (CPP).

An input 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 triggering additional workflows or external processes, such as indexing into a STAC API catalog (e.g., [stac-server](https://github.com/stac-utils/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 CPP processing is tracked in a state database to prevent duplicate processing and allow for a user to follow the state of any input 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 CPP.

## Cirrus Development

If developing new code for cirrus-geo, checkout the [Contributing Guide](CONTRIBUTING.md).

## Documentation

Documentation for deploying, using, and customizing Cirrus is contained within the [docs](https://cirrus-geo.github.io/cirrus-geo/) directory:

## About

Cirrus is an Open-Source pipeline for processing geospatial data in AWS. Cirrus was developed by [Element 84](https://element84.com/) originally under a [NASA ACCESS project](https://earthdata.nasa.gov/esds/competitive-programs/access) called [Community Tools for Analysis of NASA Earth Observation System Data in the Cloud](https://earthdata.nasa.gov/esds/competitive-programs/access/eos-data-cloud).

[build-status-image]: https://github.com/cirrus-geo/cirrus-geo/actions/workflows/python-test.yml/badge.svg [build-status]: https://github.com/cirrus-geo/cirrus-geo/actions/workflows/python-test.yml [coverage-status-image]: https://img.shields.io/codecov/c/github/cirrus-geo/cirrus-geo/master.svg [codecov]: https://codecov.io/github/cirrus-geo/cirrus-geo?branch=master [pypi-version]: https://img.shields.io/pypi/v/cirrus-geo.svg [pypi]: https://pypi.org/project/cirrus-geo/

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.0.0a0.tar.gz (215.2 kB view details)

Uploaded Source

Built Distribution

cirrus_geo-1.0.0a0-py3-none-any.whl (49.5 kB view details)

Uploaded Python 3

File details

Details for the file cirrus_geo-1.0.0a0.tar.gz.

File metadata

  • Download URL: cirrus_geo-1.0.0a0.tar.gz
  • Upload date:
  • Size: 215.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for cirrus_geo-1.0.0a0.tar.gz
Algorithm Hash digest
SHA256 c9ca4d734051ec0d868548782236b354d013583b9618cfecb50095598a46fe59
MD5 a07523301fba483882ff907d890752ee
BLAKE2b-256 df843d9cd08aa04c843586190e320b4f02ecbd1a8e92407e0da5f3984e3bec6a

See more details on using hashes here.

File details

Details for the file cirrus_geo-1.0.0a0-py3-none-any.whl.

File metadata

  • Download URL: cirrus_geo-1.0.0a0-py3-none-any.whl
  • Upload date:
  • Size: 49.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for cirrus_geo-1.0.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 cef0d920f1d981e6a05b7add2af8c197e475e8501f066d8fc7f7547d7a41f84a
MD5 cc6b9023eef0cffd60da4b544cb0e900
BLAKE2b-256 d110ae12d3da4415f55106453a53da8028efbd756b444e0dc93d14390b125004

See more details on using hashes here.

Supported by

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