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.0a1.tar.gz (217.3 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.0.0a1-py3-none-any.whl (50.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cirrus_geo-1.0.0a1.tar.gz
  • Upload date:
  • Size: 217.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cirrus_geo-1.0.0a1.tar.gz
Algorithm Hash digest
SHA256 9b0453c20752227f083d92780a2e01411a16e4f0b96ea2c5d912200f9def3e0e
MD5 78dd20e4aafe3675be178211ca3ac60b
BLAKE2b-256 49dc7f2b166d2cbda3ede35e62015acf46929b3ca6126d35072ffbe6f75909cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for cirrus_geo-1.0.0a1.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.0.0a1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for cirrus_geo-1.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 663b136b059dcabaf2588e96b70e105a57886b9b492845d3f31bb0fbbf8182b6
MD5 0f9a893278f72a48127b2a580b3e48fb
BLAKE2b-256 fc8b63c9767ff065190e68e109da90c33839d7b4382a3ed0dba05df7fce16892

See more details on using hashes here.

Provenance

The following attestation bundles were made for cirrus_geo-1.0.0a1-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