CNG 🐍 🤝 🦀
Pete Gadomski, Development Seed
Used for search and discovery, can be leveraged for analytics
from obstore.store import S3Store, from_url
from_url("s3://bucket-name", region="us-east-1", skip_signature=True)
from_url("https://bucket-name.s3.us-east-1.amazonaws.com", skip_signature=True)
store = S3Store("bucket-name", region="us-east-1", skip_signature=True)
https://developmentseed.org/obstore/
Exposes an almost-identical API
https://stac-utils.github.io/rustac-py/
https://stac-utils.github.io/rustac/
# Search
$ rustac search https://landsatlook.usgs.gov/stac-server \
--collections landsat-c2l2-sr \
--intersects '{"type": "Point", "coordinates": [-105.119, 40.173]}' \
--sortby='-properties.datetime' \
--max-items 1000 \
items.parquet
# Translate formats
$ rustac translate items.ndjson items.parquet
# Search a STAC API
items = await rustac.search(
"https://landsatlook.usgs.gov/stac-server",
collections="landsat-c2l2-sr",
intersects={"type": "Point", "coordinates": [-105.119, 40.173]},
max_items=100,
)
from geopandas import GeoDataFrame
table = rustac.to_arrow(items)
data_frame = GeoDataFrame.from_arrow(table)
items = rustac.from_arrow(data_frame.to_arrow())
await rustac.write("/tmp/items.parquet", items)
CNG 🐍 🤝 🦀
Thanks for your time!