A package to help with GEE data processing, analysis, and visualization
Project description
geeViz
The Earth Engine Visualization Toolkit for Python
geeViz makes exploring, visualizing, and analyzing Earth Engine data and geospatial imagery easy in Python. Whether you’re an analyst, scientist, or just getting started, geeViz offers interactive mapping, time series, and advanced charting—without the JavaScript overhead.
Developed by RedCastle Resources, geeViz features a powerful, customizable map viewer and Pythonic interfaces for working with Google Earth Engine (GEE).
Key Features
- Interactive Map Viewer (launches in your browser)
- Layer toggling, opacity, visualization tools, querying, & area charting
- Dynamic time-lapse creation from GEE
ImageCollections - Built-in charting & analysis tools (point/polygon, time series, area stats)
- Inline zonal summary & charting (
geeViz.chartingLib) — run zonal stats and produce Plotly charts (time series, bar, Sankey) directly in notebooks - Jupyter/Colab support and standalone scripting
- Supports Landsat, Sentinel-2, MODIS, LCMS, LCMAP, and more
- Extensive examples and ready-to-run wrappers
- Built-in MCP server for AI coding assistants (Cursor, Claude Code, VS Code Github Copilot, Windsurf, AntiGravity, etc...)
Quick Links
- PyPI: pypi.org/project/geeViz
- Docs/Home: geeviz.org
- Notebooks & Scripts:
examples/ - Community Repo: github.com/gee-community/geeViz
- Forest Service GitHub: code.fs.usda.gov/forest-service/geeViz
JavaScript Version & Related Links
Documentation & Help
- geeViz Documentation and API Reference
- See
examples/for Jupyter/Colab notebooks and scripts. - Need help? Email us at info@geeviz.org.
Installation
The fastest way to get started:
- Sign up for Google Earth Engine
- Install geeViz via pip:
pip install geeViz
- Authenticate your Google account with Earth Engine:
earthengine authenticate
Manual / Advanced Installation
-
Install the Earth Engine Python API if not present:
pip install earthengine-api
-
Clone this repository:
git clone https://github.com/gee-community/geeViz
-
Optionally, add or symlink the
geeVizfolder to your Python site-packages. -
To update to the latest version:
pip install geeViz --upgrade
or, if installed via Git:
git pull origin master
geeViz is also mirrored at code.fs.usda.gov/forest-service/geeViz.
AI-Assisted Development (MCP)
geeViz includes a built-in MCP (Model Context Protocol) server with 32 tools that give AI coding assistants live access to geeViz and Google Earth Engine. Instead of generating code from training data (which is often wrong or outdated), your AI assistant can look up real function signatures, read actual example scripts, execute and test code, inspect assets, export data, manage tasks, and more.
Works with Cursor, Claude Code, VS Code with GitHub Copilot, Windsurf, and any MCP-compatible client. The mcp SDK is included as a dependency — no extra install needed.
Quick setup
- Add a config file for your editor (see MCP Server docs):
{ "mcpServers": { "geeviz": { "command": "python", "args": ["-m", "geeViz.mcp.server"] } } }
- Copy the agent instructions from
geeViz/mcp/agent-instructions.mdinto your editor's instructions file (.github/copilot-instructions.md,.cursorrules,CLAUDE.md, or.windsurfrules).
What the MCP server can do
The 32 tools are organized into nine categories:
| Category | Tools |
|---|---|
| Code Execution | run_code — persistent REPL with ee, Map, gv, gil pre-loaded; get_namespace — inspect live variables; save_notebook — export session as .ipynb |
| API Introspection | get_api_reference — function signatures & docstrings; list_functions — browse module contents; get_example / list_examples — read example scripts |
| Dataset Discovery | search_datasets — keyword search across official & community catalogs; get_dataset_info — full STAC metadata for any dataset |
| Asset Inspection | inspect_asset — bands, CRS, scale, date range, properties; list_assets — browse GEE folders; get_collection_info — image count, date range, bands |
| Visualization | get_thumbnail — PNG for images, animated GIF for collections; geocode — place name to coordinates with optional boundary search |
| Exports | export_to_asset, export_to_drive, export_to_cloud_storage — using geeViz wrappers with sensible defaults |
| Task Management | track_tasks — check task status; cancel_tasks — cancel by name or all |
| Zonal Summary & Charting | extract_and_chart — extract values and chart ee.Image or ee.ImageCollection over a point/region; supports point sampling, bar charts, time series, Sankey diagrams, and grouped bar charts via geeViz.chartingLib |
| Asset Management | create_folder, delete_asset, copy_asset, move_asset, update_acl — manage GEE assets and permissions |
| Environment | get_version_info, get_project_info |
For the complete tool reference, architecture details, and usage examples, see the MCP Server README and the online MCP Server guide.
Getting Started
geeViz comes with ready-to-run examples and templates for fast onboarding.
Example: Launch in PythonAuthenticate and then try: from geeViz.examples import geeViewExample
Explore other examples: from geeViz.examples import timeLapseExample
from geeViz.examples import getLandsatWrapper
from geeViz.examples import getSentinel2Wrapper
from geeViz.examples import getCombinedLandsatSentinel2Wrapper
from geeViz.examples import harmonicRegressionWrapper
from geeViz.examples import LANDTRENDRWrapper
from geeViz.examples import LANDTRENDRViz
from geeViz.examples import CCDCViz
from geeViz.examples import lcmsViewerExample
from geeViz.examples import LCMAP_and_LCMS_Viewer
from geeViz.examples import phEEnoVizWrapper
from geeViz.examples import GFSTimeLapse
|
Use with Jupyter & Colab
- Interactive notebooks are in the
examples/directory (see docs ➔). - The geeViz map viewer also works directly inside Jupyter and Google Colab.
Features at a Glance
- One line mapping: Map any GEE image or collection instantly
- Interactive: Toggle layers, set opacity, area/point query, and chart
- Dynamic Time-Lapses: Animate temporal stacks and export GIFs
- No JavaScript required: Pure Python interface
Contributing
We love contributions and new users!
- Share a GEE script, notebook, or suggestion?
info@geeviz.org - Pull requests & feature requests:
github.com/gee-community/geeViz
License
geeViz is released under the Apache 2.0 License.
See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file geeviz-2026.3.2.tar.gz.
File metadata
- Download URL: geeviz-2026.3.2.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81eff736d842e4e13ed8cb0765040a87b456be5377485211fa01deedb8ac1bea
|
|
| MD5 |
67d5f0ef9c91c6df31d1d0a47f49eed4
|
|
| BLAKE2b-256 |
c1c8f6fd17d37c8a4008473ca89e2580851ed480f9caab0a0430c272a3b76fd9
|
File details
Details for the file geeviz-2026.3.2-py3-none-any.whl.
File metadata
- Download URL: geeviz-2026.3.2-py3-none-any.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40b7ee4f68de07f67138e792fbf63adff263b4c5438e8afa1aacb8d082cb5e91
|
|
| MD5 |
02a605f0744791e76bf29510dc78fb4a
|
|
| BLAKE2b-256 |
4d5931e79dcb0da29ad7af4462f2eab913af4a2e2e8ea514ee2fcfcef9d73b04
|