Commit Graph

23 Commits

Author SHA1 Message Date
Martha Morrissey c677057b2e feat: overture places within buffer tool (#18)
* wip query places within buffer

* places within search area query working

* make async

* remove unused fields

* formatting

* remove literal type for more flexibile, but still map user input to 3 high level Overture categories- cafe, restaurant, and bar

* actually return pydantic FeatureCollection

* better formatting for tool message

* fix formatting

* fix init

* actually fix imports

* fix linting

* clearer agent instructions

* render the FeatureCollection automatically in steamlit
2025-12-05 17:28:37 +00:00
Soumya Ranjan Mohanty da5ebb6601 Add docs for API & the agent architecture (#22)
* Add docs for API & the agent
* Add reAct arch diagram
2025-12-05 22:51:22 +05:30
Daniel Wiesmann 9b202c504e Render naip and summarize (#20)
* Intermediate

* Fix naip geom handling

* Fix imagery decoding for summary tool

* Re enable xfail

* Re enable xfail

* Remove png references
2025-12-05 15:39:16 +00:00
Soumya Ranjan Mohanty dddac818ea Add documentation page using DevSeed's mkdocs format (#19)
* Add devseed mkdocs basic template
* Add docs GitHub Actions CI workflow
* Add placeholder for tools & agents
* Add mkdocstrings to automatically create documentation from code
* Fix RUF022 `__all__` is not sorted
* Deploy to GitHub Pages from artifacts

Also move permissions from workflow-level to job-level.

---------

Co-authored-by: Wei Ji <23487320+weiji14@users.noreply.github.com>
2025-12-05 14:46:45 +00:00
Leo Thomas 9686d71da6 Tool/naip fetcher (#16)
* Add initial NAIP fetcher

* Swap to Element84's EarthSearch API for NAIP STAC search and download

* clip to bounds of aoi

* Swap to Element84's EarthSearch API for NAIP STAC search and download

* rename bands and remove dask chunking

* Add DS_Store to .gitignore

* restrict date range for naip test

* Adjust timerange for tests

* Add xarray to pyproj

* Reduce aoi size

* revert test to use tmp path

* Update return types for tool to ensure state gets updated

* Update unit test for compatibility with Command output from tool

* Save image bytes directly to graph state for summarizer

* add safeguard against large image sizes

* remove print statement

* Fix stac.load to work with MCP API by manually inserting band data into the  extension

* Remove deleted file

* Add comment explaining workaround

---------

Co-authored-by: lillythomas <lillyelizathomas@gmail.com>
Co-authored-by: Daniel Wiesmann <yellowcap@users.noreply.github.com>
2025-12-05 11:41:14 +00:00
Wei Ji e3530cefd2 Use ruff rules COM, F, I, RUF, UP (#17)
* Use pyupgrade (UP) rule

* Use pyflakes (F) rule

* Use isort (I) rule

* Use ruff-specific (RUF) rules

* Use flake8-commas (COM) rule

* Fix UP043 Unnecessary default type arguments
2025-12-05 10:44:37 +00:00
Daniel Wiesmann 7c97b475e4 Fix frontend (#15)
* Fix frontend

* Fix feature creation from overture tool
2025-12-05 10:04:38 +00:00
Leo Thomas 8f0239c1c9 Tool/naip fetcher (#12)
* Add initial NAIP fetcher

* Swap to Element84's EarthSearch API for NAIP STAC search and download

* clip to bounds of aoi

* Swap to Element84's EarthSearch API for NAIP STAC search and download

* rename bands and remove dask chunking

* Add DS_Store to .gitignore

* restrict date range for naip test

* Adjust timerange for tests

* Add xarray to pyproj

* Reduce aoi size

* revert test to use tmp path

* Update return types for tool to ensure state gets updated

* Mark naip test as xfail

* Fix geom creation

---------

Co-authored-by: lillythomas <lillyelizathomas@gmail.com>
Co-authored-by: Daniel Wiesmann <yellowcap@users.noreply.github.com>
2025-12-05 08:53:04 +00:00
Soumya Ranjan Mohanty be8affaa6c Add docs to download overture places data & ollama model (#13)
* Add docs to download overture places data & ollama model
* Hit local overture parquet files
* Add osx gitignore
* Add .env.example
* Make overture data source selectable using .env
* Add pytest marker to set right ENV vars during CI

---------

Co-authored-by: Daniel Wiesmann <yellowcap@users.noreply.github.com>
2025-12-04 22:11:10 +05:30
Daniel Wiesmann 16f39f908f Fix frontend and api state handling (#11)
* Fix frontend and api state handling

* Increase timeout to 6 mins

* Fix test
2025-12-04 15:33:47 +00:00
Wei Ji a87b64b71e Mark test requiring ollama server as xfail (#10)
Should only run these locally for now
2025-12-04 15:29:12 +00:00
Martha Morrissey 24c53b66e3 feat: add buffer tool (#8)
* wip buffer tool

* add search area to attribute

* add geopandas dependency

* add buffer tool and fix graph to add in the overture tool

* make async

* simpler buffering

* cleaner comments

Co-authored-by: Wei Ji <23487320+weiji14@users.noreply.github.com>

* Change from FeatureCollection to Feature

And ensure that output search area is a Polygon

* update test comments

* remove unhelpful test checks

---------

Co-authored-by: Wei Ji <23487320+weiji14@users.noreply.github.com>
Co-authored-by: Daniel Wiesmann <yellowcap@users.noreply.github.com>
2025-12-04 15:14:38 +00:00
Soumya Ranjan Mohanty 2d34ee0a16 Add satellite image summarization tool (#7)
* Add dspy & jupyterlab as dependency

* Add image summarizer agent tool

* Add test for summarize tool

* Remove try except

---------

Co-authored-by: Daniel Wiesmann <yellowcap@users.noreply.github.com>
2025-12-04 15:09:10 +00:00
Daniel Wiesmann bcc331bd5e Add api test back in 2025-12-04 14:58:37 +00:00
Daniel Wiesmann 9a473fc667 Fix frontend and api (#9) 2025-12-04 14:57:23 +00:00
Wei Ji 2d5af2adb9 Enable pytest-asyncio tests in CI (#3)
* Set asyncio_mode="auto" in pytest.ini config

Xref https://pytest-asyncio.readthedocs.io/en/latest/reference/configuration.html#asyncio-mode

* Add test-python GitHub Actions CI workflow

* Add `--color=yes` flag to force GitHub Actions logs to have color

Xref https://github.com/pytest-dev/pytest/issues/7443

* Refactor contents of test_api.py slightly

Using some ruff rules

* Delete test_api.py

* Make test_get_place async

* Make get_place async, and call .ainvoke method on it
2025-12-04 13:09:02 +00:00
Daniel Wiesmann 93b405cda4 Rename agent state to GeoAssistantState (#6) 2025-12-04 12:26:28 +00:00
Martha Morrissey 4a7a2c050a feat: add tests (#5) 2025-12-04 12:18:59 +00:00
Daniel Wiesmann b9f89e6a58 Merge pull request #4 from developmentseed/mdw/vector-query
feat: Vector Query to get Geocoded Location from Place
2025-12-04 12:02:55 +00:00
Martha f534b0ad45 remove old code 2025-12-04 11:57:29 +00:00
Martha 61cce53e4c basic place geometry creation from initial query 2025-12-04 11:55:40 +00:00
Daniel Wiesmann 1a11473421 Initial commit 2025-12-04 09:36:14 +00:00
Daniel Wiesmann 9e541ac6b7 Initial commit 2025-12-04 09:22:18 +00:00