Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stac-utils/stac4s
a scala library with primitives to build applications using the SpatioTemporal Asset Catalogs specification
https://github.com/stac-utils/stac4s
Last synced: 3 months ago
JSON representation
a scala library with primitives to build applications using the SpatioTemporal Asset Catalogs specification
- Host: GitHub
- URL: https://github.com/stac-utils/stac4s
- Owner: stac-utils
- License: apache-2.0
- Created: 2019-11-23T20:43:52.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-05-21T23:55:17.000Z (6 months ago)
- Last Synced: 2024-05-23T09:59:10.378Z (6 months ago)
- Language: Scala
- Size: 665 KB
- Stars: 15
- Watchers: 9
- Forks: 10
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-earthobservation-code - stac4s - A `Scala` library with primitives to build applications using the SpatioTemporal Asset Catalogs specification (`Python` processing of optical imagery (non deep learning) / Cloud Native Geospatial)
README
# stac4s
[![CI](https://github.com/stac-utils/stac4s/workflows/CI/badge.svg)](https://github.com/stac-utils/stac4s/actions) [![Maven Central](https://img.shields.io/maven-central/v/com.azavea.stac4s/client_2.12?color=blue)](http://search.maven.org/#search%7Cga%7C1%7com.azavea.stac4s) [![Snapshots](https://img.shields.io/nexus/s/https/oss.sonatype.org/com.azavea.stac4s/client_2.12.svg)](https://oss.sonatype.org/content/repositories/snapshots/com/azavea/stac4s/)
[![Join the chat at https://gitter.im/azavea/stac4s](https://badges.gitter.im/azavea/stac4s.svg)](https://gitter.im/azavea/stac4s?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Scala Steward badge](https://img.shields.io/badge/Scala_Steward-helping-blue.svg?style=flat&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAMAAAARSr4IAAAAVFBMVEUAAACHjojlOy5NWlrKzcYRKjGFjIbp293YycuLa3pYY2LSqql4f3pCUFTgSjNodYRmcXUsPD/NTTbjRS+2jomhgnzNc223cGvZS0HaSD0XLjbaSjElhIr+AAAAAXRSTlMAQObYZgAAAHlJREFUCNdNyosOwyAIhWHAQS1Vt7a77/3fcxxdmv0xwmckutAR1nkm4ggbyEcg/wWmlGLDAA3oL50xi6fk5ffZ3E2E3QfZDCcCN2YtbEWZt+Drc6u6rlqv7Uk0LdKqqr5rk2UCRXOk0vmQKGfc94nOJyQjouF9H/wCc9gECEYfONoAAAAASUVORK5CYII=)](https://scala-steward.org) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
A scala project that provides types and basic functionality for working with [SpatioTemporal Asset Catalogs](https://stacspec.org). This library is the basis for projects like [Franklin](https://azavea.github.io/franklin/) and others.
### Usage
The following STAC types are covered by this library:
- 2d- and 3d- Bounding Boxes
- Collection
- Asset
- Catalog
- Temporal and Spatial Extents
- Item
- License
- Link & Link Types
- Relations
- Providers & Roles
- Media TypesOn its own this library does not provide much functionality; however, it can form a strong foundation for building catalogs and applications, especially when paired with libraries like [GeoTrellis Server](https://github.com/geotrellis/geotrellis-server) and [GeoTrellis](https://geotrellis.io).
### Contributing
Contributions can be made via [pull requests](https://github.com/azavea/stac4s/pulls). You will need to fork the repository to your personal account, create a branch, update your fork, then make a pull request. Additionally, if you find a bug or have an idea for a feature/extension we would appreciate it if you opened an [issue](https://github.com/azavea/stac4s/issues) so we can work on a fix.
### Deployments, Releases, and Maintenance
`master` signals the current unreleased, actively developed codebase. Each release will have an associated `git tag` is handled automatically via a CI job once a tag is pushed. Releases are handled automatically in CI. To produce a release:
- make sure `master` is up-to-date: `git checkout master && git pull origin master`
- rotate changelog entries into a section for the version you're releasing using `chan release X.Y.Z`
- commit your changelog rotation: `git commit -am "Release X.Y.Z"`
- make and push an annotated tag for your release and push `master`:```bash
$ git tag -s -a vX.Y.Z -m "Release version "
$ git push origin --tags
$ git push origin master
```After you've pushed the tag, create a GitHub release using `chan gh-release X.Y.Z`.
Active development and backports for a particular _minor_ version of `stac4s` will be tracked and maintained on a branch for that series (e.g. `series/0.1.x`, `series/0.2.x`, etc). Pull requests to backport a fix, feature, or other change should be made to that series' respective branch.
Care will be taken to try and maintain backwards binary compatibility for all minor and bugfix releases.