Metadata-Version: 2.4
Name: jupyter-geoagent
Version: 0.1.0
Summary: A JupyterLab extension for interactive geospatial data exploration via STAC catalogs and MCP-powered queries.
Project-URL: Homepage, https://github.com/geojupyter/jupyter-geoagent
Project-URL: Bug Tracker, https://github.com/geojupyter/jupyter-geoagent/issues
Project-URL: Repository, https://github.com/geojupyter/jupyter-geoagent.git
Author-email: Carl Boettiger <cboettig@berkeley.edu>
License: BSD-3-Clause
License-File: LICENSE
Keywords: geospatial,jupyter,jupyterlab,jupyterlab-extension,maplibre,stac
Classifier: Framework :: Jupyter
Classifier: Framework :: Jupyter :: JupyterLab
Classifier: Framework :: Jupyter :: JupyterLab :: 4
Classifier: Framework :: Jupyter :: JupyterLab :: Extensions
Classifier: Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Requires-Dist: jupyter-server<3,>=2.4.0
Description-Content-Type: text/markdown

# jupyter-geoagent

A JupyterLab extension for interactive geospatial data exploration via STAC catalogs and MCP-powered queries.

Click **GeoAgent Map** in the JupyterLab launcher to open a GUI-driven map explorer — no code required. Browse STAC catalogs, add layers, style and filter data, run DuckDB spatial queries, and export reproducible artifacts.

## Features

- **STAC catalog browser** — enter a catalog URL, browse collections, add layers to the map
- **MapLibre GL JS map** — interactive map with multiple basemaps, zoom, pan, rotate
- **Layer management** — toggle visibility, remove layers
- **MCP query interface** — run SQL queries against parquet data via a remote DuckDB server
- **Reproducible exports** — export as static HTML map, geo-agent `layers-input.json`, or a tool call log

## Install

```bash
pip install jupyter-geoagent
```

## Development

```bash
# Clone and install in dev mode
pip install --editable . --group dev --group test --group docs

# Link the extension for development
jupyter labextension develop --overwrite .

# Watch for changes (in two terminals)
jlpm watch:src
jupyter lab --no-browser
```

## Documentation

- **User guide:** how to use the extension day-to-day. Published at <https://jupyter-geoagent.readthedocs.io/> or read the source at [docs/usage.md](docs/usage.md).
- **Design specification:** architecture and module reuse reference for contributors at [docs/design.md](docs/design.md).

## Contributing

Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for development
setup and the pull request process. By participating you agree to abide by our
[Code of Conduct](CODE_OF_CONDUCT.md).

## Citation

If you use `jupyter-geoagent` in your work, please cite it. Citation metadata is
available in [CITATION.cff](CITATION.cff), and GitHub's "Cite this repository"
button renders it in APA and BibTeX. Archived releases are available on Zenodo.
