seriffic's picture
Backend evolution: Phases 1-10 specialists + agentic FSM + Mellea + LiteLLM router
6a82282
"""Microsoft Planetary Computer STAC: Sentinel-2 L2A search over a
small NYC bbox. Verifies search works keylessly and that the result has
asset URLs we can sign with `planetary_computer.sign(item)`."""
import sys
from _runner import cli, write_cache # noqa: E402
def probe():
import planetary_computer as pc
from pystac_client import Client
client = Client.open(
"https://planetarycomputer.microsoft.com/api/stac/v1",
modifier=pc.sign_inplace,
)
# ~Brooklyn south shore bbox
search = client.search(
collections=["sentinel-2-l2a"],
bbox=[-74.05, 40.55, -73.90, 40.65],
datetime="2024-09-01/2024-09-30",
query={"eo:cloud_cover": {"lt": 30}},
max_items=3,
)
items = list(search.items())
if not items:
return False, "no items returned", None
it = items[0]
asset_keys = sorted(it.assets.keys())
visual_url = it.assets.get("visual", it.assets[asset_keys[0]]).href
write_cache("stac_first_item",
{"id": it.id, "datetime": str(it.datetime),
"asset_keys": asset_keys, "visual_url": visual_url})
return True, f"{len(items)} items, first={it.id}", it
if __name__ == "__main__":
sys.exit(cli("stac", probe))