* 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>
Geo Assistant
A geographic assistant that helps answer questions and perform tasks related to locations and geographic data.
Environment Setup
The project uses environment variables for configuration. Copy .env.example to .env and customize as needed:
cp .env.example .env
Edit .env to set your configuration:
OLLAMA_MODEL: Model name (default:llama3.2)OLLAMA_BASE_URL: Ollama server URL (default:http://localhost:11434)API_BASE_URL: API base URL for the frontend (default:http://localhost:8000)
The application will automatically load these variables from the .env file.
Ollama Setup
Install Ollama and download the required models:
ollama pull ministral-3:14b-cloud
ollama pull gpt-oss:20b-cloud
These models are used for agent and satellite image analysis.
Data Setup
Download Overture Maps place data locally:
mkdir -p data/overture/places
aws s3 sync s3://overturemaps-us-west-2/release/2025-11-19.0/theme=places/type=place/ data/overture/places/
Development Setup
Pre-commit Hooks
This project uses pre-commit hooks to ensure code quality. To set up pre-commit:
- Install dependencies (including pre-commit):
uv sync
- Install the git hooks:
uv run pre-commit install
Pre-commit will now automatically run ruff linting and formatting checks before each commit.
To manually run pre-commit on all files:
uv run pre-commit run --all-files
Running the API
uv run uvicorn geo_assistant.api.app:app --reload
The API will be available at http://localhost:8000.
Running the Frontend
streamlit run src/geo_assistant/frontend/app.py
The frontend will be available at http://localhost:8501.