Skip to main content

A package to help with GEE data processing, analysis, and visualization

Project description

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)
  • 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:

  1. Sign up for Google Earth Engine
  2. Install geeViz via pip:
    pip install geeViz
    
  3. Authenticate your Google account with Earth Engine:
    earthengine authenticate
    

Manual / Advanced Installation
  1. Install the Earth Engine Python API if not present:

    pip install earthengine-api
    
  2. Clone this repository:

    git clone https://github.com/gee-community/geeViz
    
  3. Optionally, add or symlink the geeViz folder to your Python site-packages.

  4. 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 33 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

  1. Add a config file for your editor (see MCP Server docs):
    {
      "mcpServers": {
        "geeviz": {
          "command": "python",
          "args": ["-m", "geeViz.mcp.server"]
        }
      }
    }
    
  2. 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 33 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
Data Sampling & Time Series sample_values — pixel values at a point or region; get_time_series — band values over time with optional chart
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 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 LCMAP_and_LCMS_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!


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

geeviz-2026.3.1.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geeviz-2026.3.1-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file geeviz-2026.3.1.tar.gz.

File metadata

  • Download URL: geeviz-2026.3.1.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

Hashes for geeviz-2026.3.1.tar.gz
Algorithm Hash digest
SHA256 14e6bf22169f644627ce40584f0572a767ad6361823f13a394b23f58afea6dfd
MD5 a03b279dccff3d86499b153400c045f0
BLAKE2b-256 d2614a80c7f11b19b903d724c003dcf7525d3dee5e41e2a521ad672e6ec37c91

See more details on using hashes here.

File details

Details for the file geeviz-2026.3.1-py3-none-any.whl.

File metadata

  • Download URL: geeviz-2026.3.1-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for geeviz-2026.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0e6b0f7efe9c9edd3d35ef903a30a9a0e86214edf77402eb965649d7dddc9d04
MD5 e5599acc8a271e9b299cb30815be2cf7
BLAKE2b-256 15fa0728a98711e786518bc56a838cc27269d956e3d6342d419b9258cc38ad9a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page