LinkedIn GitHub Substack
geeadd logo geeadd
New in v2.0.0: Nested Commands

Manage Earth Engine Assets Like a Power User.

geeadd extends the Google Earth Engine CLI with powerful batch operations. Recursively copy, move, and delete assets, manage permissions, and query quotas with a modern, structured interface.

LinkedIn PyPI Downloads CI Donate

Main Interface

The geeadd tool uses a grouped command structure. Run geeadd --help to see the available groups.

Terminal
Usage: geeadd [OPTIONS] COMMAND [ARGS]...

  Google Earth Engine Batch Asset Manager with Addons

  A modern CLI tool for managing GEE assets, tasks, and projects.

Options:
  --version   Show the version and exit.
  -h, --help  Show this message and exit.

Commands:
  readme    Open the geeadd documentation webpage
  projects  Manage Earth Engine projects
  assets    Manage Earth Engine assets
  tasks     Manage Earth Engine tasks
  utils     Utility commands

Installation

You can install `geeadd` using pip, git, or build it from source using `pyproject.toml`.

Method 1: PyPI (Recommended)

Terminal
pip install geeadd

Method 2: GitHub Source

Terminal
git clone https://github.com/samapriya/gee_asset_manager_addon.git
cd gee_asset_manager_addon
pip install .

Requirement: Ensure you have the Earth Engine Python API installed and authenticated via earthengine authenticate.

Migration Guide: v1.2.1 to 2.0.0

Version 2.0.0 organizes commands into logical groups. Click a group below to see how the commands have changed.

Projects Group

Quota, Enabled Projects, Dashboards

Old Command New Command
geeadd quota geeadd projects quota
geeadd projects geeadd projects enabled
geeadd projects_dash geeadd projects dashboard

Assets Group

Copy, Move, Delete, Access, Size

Old Command New Command
geeadd copy geeadd assets copy
geeadd move geeadd assets move
geeadd delete geeadd assets delete
geeadd delete_metadata geeadd assets delete-meta
geeadd access geeadd assets access
geeadd assetsize geeadd assets size

Tasks Group

List, Status, Cancel

Old Command New Command
geeadd tasks geeadd tasks list
geeadd cancel geeadd tasks cancel

Utils Group

Search, Reports, App2Script

Old Command New Command
geeadd search geeadd utils search
geeadd app2script geeadd utils app2script
geeadd ee_report geeadd utils report

Group: Projects

Quota & Configuration

The Quota tool is your primary utility for monitoring Earth Engine storage and asset counts. It automatically detects whether you are using a legacy folder or a Google Cloud Project.

Terminal
# Check all accessible quotas
geeadd projects quota
Terminal
# Specific Cloud Project
geeadd projects quota --project "projects/my-project"
Example Output
(geetools) λ geeadd projects quota
Earth Engine Quota Summary

     Cloud Project: projects/my-project
 Storage:  231.33 GB of 250 GB
           [███████████████████████████░░░] 92.5%
 Assets:   4,133 of 50,000
           [██░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 8.3%

           Legacy Root: users/username
 Storage:  7.92 TB of 10 TB
           [███████████████████████░░░░░░░] 79.2%
 Assets:   57,271 of 90,000
           [███████████████████░░░░░░░░░░░] 63.6%

Enabled Projects

Quickly identify all Google Cloud Projects where you have the Earth Engine API enabled.

Terminal
geeadd projects enabled
Example Output
(geetools) λ geeadd projects enabled
Enabled Earth Engine Projects

 projects/my-gee-project
 projects/research-project
 users/myusername

Project Dashboard

Creates an interactive HTML dashboard summarizing your projects, their storage usage, and asset counts in a visual format.

Terminal
geeadd projects dashboard or geeadd projects dashboard --outdir ./my_dashboard.html
ee_projects_dashboard.html (Preview)

Earth Engine Projects

Overview of your Google Earth Engine enabled projects

LOGO
Total Projects
11
Commercial
1
Non-Commercial
7
Not Registered
3

carmen-sandiego

Project ID
392847561092
Status
REGISTERED NOT COMMERCIALLY

andes-cache

Project ID
847561092392
Status
NOT REGISTERED
Group: Assets

Asset Info

Display detailed information about an Earth Engine asset with beautiful formatting.

Terminal
geeadd assets info "LANDSAT/LC08/C02/T1_L2/LC08_044034_20140318"

Copy Assets

Offers a versatile solution for copying Earth Engine assets recursively.

Terminal
geeadd assets copy --initial "users/me/folder" --final "users/me/backup"

Move Assets

Recursively move assets from one location to another. Use --no-cleanup to keep source folders.

Terminal
geeadd assets move --initial "users/me/old" --final "users/me/new"

Delete Assets

Caution

This tool will permanently remove the specified asset and all its children.

Terminal
geeadd assets delete --id "users/me/folder_to_delete"

Delete Metadata

Selectively delete a specific property from the metadata associated with an asset.

Terminal
geeadd assets delete-meta --asset "users/me/image" --property "description"

Permissions (ACL)

Set read/write permissions for assets recursively.

Terminal
# Grant Read Access
geeadd assets access --user "[email protected]" --role "reader" --asset "users/me/asset"

Asset Size

Calculates the size and item count of a collection, image, feature view, or folder.

Terminal
geeadd assets size "users/me/collection"
Example Output
Asset:  projects/my-project/assets/my-collection
Type:   Image Collection
Size:   45.67 GB
Items:   1,234
Group: Tasks

List Tasks

View summaries of task states or filter by state (COMPLETED, READY, RUNNING, FAILED, CANCELLED).

Terminal
# Summary Table
geeadd tasks list
Terminal
# List Running JSON
geeadd tasks list --state RUNNING
Example Output
(geetools) λ geeadd tasks list
Status             Count
Running            12
Pending            45
Completed          1,234
Failed             3
Cancelled          0

Cancel Tasks

Cancel specific tasks or bulk cancel by state.

Terminal
# Cancel All Tasks
geeadd tasks cancel all
Terminal
# Cancel Specific ID
geeadd tasks cancel "ABC123XYZ..."
Group: Utils

App to Script

Extract the underlying JavaScript code from any public Earth Engine App URL.

Terminal
geeadd utils app2script --url "https://username.users.earthengine.app/view/app" --outfile "./script.js"

Asset Report

Generate a detailed CSV or JSON report of your assets.

Terminal
geeadd utils report --outfile report.csv --format csv

Color Palette Generator NEW

Generate ColorBrewer palettes for your visualizations. Supports JSON, Hex, CSS, Python, and JS output formats.

Terminal
# Example: Generating a 5-class Blues palette to clipboard
geeadd utils palette --name Blues --classes 5 --copy
["#eff3ff", "#bdd7e7", "#6baed6", "#3182bd", "#08519c"]
Terminal
# List available palettes
geeadd utils palette --list

Examples & Guides

Real-world workflows and best practices to help you get the most out of geeadd.

1 Project Setup & Organization

Terminal
# 1. List your projects
geeadd projects enabled

# 2. Check quota
geeadd projects quota

# 3. Create a dashboard
geeadd projects dashboard --outdir ~/gee-reports

2 Complete Asset Management Cycle

Terminal
# 1. Check current assets
geeadd assets info projects/my-project/assets

# 2. Copy important data for backup
geeadd assets copy \
  --initial projects/my-project/assets/production \
  --final projects/my-project/assets/backup-2024

# 3. Share with collaborators
geeadd assets access \
  --asset projects/my-project/assets/shared-data \
  --user [email protected] \
  --role reader

3 Task Monitoring & Cleanup

Terminal
# 1. Check task status
geeadd tasks list

# 2. Monitor running tasks
geeadd tasks list --state RUNNING

# 3. Cancel stuck pending tasks
geeadd tasks cancel pending

Best Practices

  • Use --workers 10-15 for large folders, but stick to default (5) for smaller jobs to avoid rate limits.
  • Generate weekly asset reports using geeadd utils report to keep track of growth.
  • Use the delete role in permissions to revoke access from former collaborators.

Troubleshooting

Quota Exceeded?

Run geeadd projects quota to find full projects, then clear old data with geeadd assets delete.

Tasks Stuck?

Tasks in READY state for too long can be cleared with geeadd tasks cancel pending.