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: 12 days 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 (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-05-21T23:55:17.000Z (about 1 year ago)
- Last Synced: 2024-05-23T09:59:10.378Z (about 1 year 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
[](https://github.com/stac-utils/stac4s/actions) [](http://search.maven.org/#search%7Cga%7C1%7com.azavea.stac4s) [](https://oss.sonatype.org/content/repositories/snapshots/com/azavea/stac4s/)
[](https://gitter.im/azavea/stac4s?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://scala-steward.org) [](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.