Wei Ji e3373026d6 Enable pydocstyle (D) ruff rule and add more docs (#21)
* Use pydocstyle (D) rule with google convention

Add a ruff rule to catch missing documentation. Using google convention so that undocumented-param (D417) rule is enabled to catch missing params, xref https://docs.astral.sh/ruff/rules/undocumented-param. Extended to include D213 (instead of D212) and D410 rules too.

* Fix D100 Missing docstring in public module

* Fix D101 Missing docstring in public class

* Fix D103 Missing docstring in public function

Also ignore rule D205 to allow first sentence of docstring to wrap to multiple lines.

* Fix  D417 Missing argument description in the docstring

* Update indent in pyproject.toml file
2025-12-09 08:22:01 +00:00
2025-12-05 08:53:04 +00:00
2025-12-04 09:36:14 +00:00
2025-12-04 09:22:18 +00:00

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:

  1. Install dependencies (including pre-commit):
uv sync
  1. 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.

S
Description
No description provided
Readme MIT 795 KiB
Languages
Python 100%