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:
Learn how to [get started](https://cirrus-geo.github.io/cirrus-geo/stable/cirrus/10_intro.html)
Understand the [architecture](https://cirrus-geo.github.io/cirrus-geo/stable/cirrus/20_arch.html) of Cirrus and key concepts
[Use](https://cirrus-geo.github.io/cirrus-geo/stable/cirrus/30_payload.html) Cirrus to process input data and publish resulting STAC Items
Cirrus features several [component types](https://cirrus-geo.github.io/cirrus-geo/stable/cirrus/60_components.html) 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](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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9ca4d734051ec0d868548782236b354d013583b9618cfecb50095598a46fe59 |
|
MD5 | a07523301fba483882ff907d890752ee |
|
BLAKE2b-256 | df843d9cd08aa04c843586190e320b4f02ecbd1a8e92407e0da5f3984e3bec6a |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | cef0d920f1d981e6a05b7add2af8c197e475e8501f066d8fc7f7547d7a41f84a |
|
MD5 | cc6b9023eef0cffd60da4b544cb0e900 |
|
BLAKE2b-256 | d110ae12d3da4415f55106453a53da8028efbd756b444e0dc93d14390b125004 |