Skip to content

Repository files navigation

kindling

A natural language query tool for 39 years of MTBS (Monitoring Trends in Burn Severity) fire data. Ask questions in plain English; get back tables, numbers, or charts.

How it works

A web-based chat interface powered by Google Gemini translates natural language questions into Python queries, executes them in a sandboxed environment against the MTBS dataset (stored as a Parquet dataframe), and returns results or plots.

Setup

Requires uv.

uv sync                              # install dependencies

Set your Gemini API key — either via .env:

GEMINI_API_KEY=your-key-here

or enter it in the login screen when the app starts.

Running

uv run kindling data/mtbs_pix_data.parquet

Or with custom host/port:

uv run kindling data/mtbs_pix_data.parquet --host 0.0.0.0 --port 9000

Then open http://localhost:8000 (or your custom port).

Stack

  • Backend: FastAPI (Python)
  • Frontend: Vanilla HTML/CSS/JS
  • LLM: Google Gemini via google-genai SDK
  • Data: Polars + NumPy, MTBS fire perimeter data in Parquet format

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages