gee-community
geeViz
Python

Repository of GEE libraries produced by RedCastle Inc at the US Forest Service Geospatial Technology Applications Center

Last updated Jul 6, 2026
41
Stars
9
Forks
0
Issues
0
Stars/day
Attention Score
67
Language breakdown
Python 70.4%
HTML 28.7%
Jupyter Notebook 0.8%
Dockerfile 0.0%
Files click to expand
README

geeViz logo

geeViz

The Earth Engine Visualization Toolkit for Python

PyPI version GitHub stars Docs Google Earth Engine


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.outputLib.charts, formerly geeViz.chartingLib) — run zonal stats and produce Plotly charts (time series, bar, grouped bar, donut, scatter, per-feature time series subplots, Sankey) directly in notebooks
  • Summary area retrieval (geeViz.getSummaryAreasLib) — 15 functions returning filtered ee.FeatureCollection objects for political boundaries, USFS units, census geographies, buildings, roads, and protected areas
  • 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

JavaScript Version & Related Links

Documentation & Help


Installation

The fastest way to get started:

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 geeViz folder 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._


Optional: API Keys for Google Maps & Gemini

Some geeViz features (googleMapsLib, outputLib.reports LLM narratives) require API keys from Google Cloud. These are optional — core GEE functionality works without them.

Gemini API Key (for AI-generated report narratives and image interpretation):

  • Go to Google AI Studio
  • Click Create API Key → select a project → copy the key
Google Maps Platform API Key (for geocoding, Street View, places, elevation, air quality, solar):
  • Go to Google Cloud Console → select/create a project
  • Navigate to APIs & ServicesCredentialsCreate CredentialsAPI Key
  • (Recommended) Restrict the key to: Geocoding, Street View Static, Places (New), Elevation, Air Quality, Solar, Roads, Maps Static
Store your keys in a .env file in your geeViz package directory (alongside geeView.py):

# .env file in your geeViz package directory
GEMINIAPIKEY=yourgeminiapikeyhere
GOOGLEMAPSPLATFORMAPIKEY=yourmapsplatformkeyhere

You can also set these as environment variables. The .env file is loaded automatically by googleMapsLib and outputLib.reports on import.

| Key | Used by | How to get | |---|---|---| | GEMINIAPIKEY | googleMapsLib.interpretimage(), googleMapsLib.labelstreetview(), outputLib.reports LLM narratives | Google AI Studio | | GOOGLEMAPSPLATFORMAPIKEY | googleMapsLib.geocode(), streetview*(), searchplaces(), getelevation(), getairquality(), getsolarinsights(), etc. | Google Cloud Console |

Optional pip extras:

pip install geeViz[gemini]         # Adds google-genai for AI features
pip install geeViz[segmentation]   # Adds torch + transformers for SegFormer
pip install geeViz[all]            # Everything

AI-Assisted Development (MCP)

geeViz includes a built-in MCP (Model Context Protocol) server with 21 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

{
      "mcpServers": {
        "geeviz": {
          "command": "python",
          "args": ["-m", "geeViz.mcp.server"]
        }
      }
    }
  • Copy the agent instructions from geeViz/mcp/agent-instructions.md into your editor's instructions file (.github/copilot-instructions.md, .cursorrules, CLAUDE.md, or .windsurfrules).

What the MCP server can do

The 21 tools are organized into categories:

| Category | Tools | |----------|-------| | Code Execution | runcode — persistent REPL with ee, Map, gv, gil, sal, tl, rl, cl pre-loaded; savesession — export as .py or .ipynb | | API Introspection | getapireference — function signatures & docstrings; searchfunctions — search across all modules; examples — list/read example scripts; getreference_data — lookup reference dicts | | Dataset Discovery | search_datasets — keyword search across official & community catalogs | | Asset Inspection | inspectasset — bands, CRS, scale, date range, properties; listassets — browse GEE folders | | Map Control | map_control — view, list layers, or clear the interactive map | | Exports | export_image — export to asset, Drive, or Cloud Storage | | Task/Asset Management | tracktasks, canceltasks, manage_asset (delete/copy/move/create/update ACL) | | Google Maps | getstreetview — Street View imagery; searchplaces — places/geocoding | | Reports | createreport, addreportsection, generatereport, getreportstatus, clear_report | | Environment | env_info — versions, namespace, project info |

Charting (cl.summarizeandchart()), thumbnails (tl.generatethumbs()), EDW queries (edwLib), and geocoding (gm.geocode()) are accessed via runcode for maximum flexibility.

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 Python

Authenticate 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 LCMAPandLCMS_Viewer from geeViz.examples import phEEnoVizWrapper from geeViz.examples import GFSTimeLapse


Use with Jupyter & 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.

🔗 More in this category

© 2026 GitRepoTrend · gee-community/geeViz · Updated daily from GitHub