Skip to main content

Simple unified interface for geospatial vision-language models.

Project description

goldeneye logo

PyPI version Python 3.13+ License: MIT

goldeneye is a simple and growing unified interface for geospatial vision-language models. Run any supported geospatial VLM with just a few lines of code.

Installation

pip install goldeneye

Quick Start

import goldeneye

# List available agents (models)
print(goldeneye.assets())

# Dispatch an agent for collecting intel
model = goldeneye.dispatch_agent("DescribeEarth")
report = model.recon("assets/sample.jpg", "Describe this image.")
print(report)

# Report(
#    image='assets/sample.jpg',
#
#    prompt='Describe this image.',
#
#    response='The image depicts an aerial view of a
#    residential area surrounded by dense greenery,
#    likely trees and shrubs. The houses are
#    scattered across the landscape, with varying
#    sizes and designs, some featuring pitched roofs
#    and others flat-roofed structures. The roads
#    are visible as light-colored lines
#    crisscrossing the area, connecting'
# )

sample satellite image

Supported Models

Click to expand model list (7 models)
Model Size Paper Code
DescribeEarth 3B DescribeEarth: A Global Vision-Language Dataset for Aerial and Satellite Image Captioning github
ZoomEarth 3B ZoomEarth: A Unified Remote Sensing Framework for Multi-scale Vision-Language Tasks github
EarthDial 4B EarthDial: Turning Multi-sensory Earth Observations to Interactive Dialogues github
GeoChat 7B GeoChat: Grounded Large Vision-Language Model for Remote Sensing github
GeoLLaVA-8K 7B GeoLLaVA-8K: A Large Vision-Language Model for High-Resolution Remote Sensing Applications github
GeoZero 8B GeoZero: Zero-shot Geospatial Reasoning with Multimodal LLMs github
Geo-R1 (8 variants) 3B Geo-R1: Unleashing the Power of Reinforcement Learning in Generalist Geospatial Foundation Model github

Memory Requirements

  • 3B models (GeoR1, ZoomEarth, DescribeEarth): ~6GB VRAM at fp16
  • 4B models (EarthDial): ~8GB VRAM at fp16
  • 7B models (GeoChat, GeoLLaVA): ~14GB VRAM at fp16
  • 8B models (GeoZero): ~16GB VRAM at fp16

Usage

import torch
import goldeneye
from PIL import Image
from transformers import BitsAndBytesConfig

# Load a model (auto-detects device)
model = goldeneye.dispatch_agent("DescribeEarth")

# Or specify device/dtype
model = goldeneye.dispatch_agent("DescribeEarth", device="cuda", dtype=torch.bfloat16)

# Or use quantization for larger models
config = BitsAndBytesConfig(load_in_8bit=True)
model = goldeneye.dispatch_agent("GeoChat", quantization_config=config)

# Run inference with file path or PIL Image
report = model.recon("satellite_image.jpg", "Describe this image.")
report = model.recon(Image.open("satellite_image.jpg"), "Describe this image.", max_new_tokens=256)

Benchmark Datasets

Click to expand dataset list (2 datasets)
Dataset Samples Paper HuggingFace
DE-Dataset ~321k DescribeEarth: A Global Vision-Language Dataset for Aerial and Satellite Image Captioning earth-insights/DE-Dataset
XLRS-Bench-lite ~2.8k XLRS-Bench: A Benchmark for Cross-Lingual Visual Reasoning in Remote Sensing initiacms/XLRS-Bench-lite
from goldeneye.datasets import stream_de_dataset

# Stream samples from geospatial benchmarks
for sample in stream_de_dataset(split="train"):
    report = model.recon(sample["image"], "Describe this satellite image.")
    break

Contributing

See CONTRIBUTING.md for development setup and guidelines.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

goldeneye-0.1.0.tar.gz (33.5 kB view details)

Uploaded Source

Built Distribution

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

goldeneye-0.1.0-py3-none-any.whl (44.6 kB view details)

Uploaded Python 3

File details

Details for the file goldeneye-0.1.0.tar.gz.

File metadata

  • Download URL: goldeneye-0.1.0.tar.gz
  • Upload date:
  • Size: 33.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for goldeneye-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9d269bb7eb8753817a9eb61a8c05a543506943b7814de9807bcef754e51816d5
MD5 755d43d41f7c78f2ead5826d2d459e9e
BLAKE2b-256 fe1531e2ddc2702bcea2c027ccfdf0e191e968841afe1592ff2be54c73f48e07

See more details on using hashes here.

Provenance

The following attestation bundles were made for goldeneye-0.1.0.tar.gz:

Publisher: release.yaml on isaaccorley/goldeneye

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file goldeneye-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: goldeneye-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 44.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for goldeneye-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 385cb70ad7cce0c6ff84f4f771ef68f088c9f5d02ecf28929845390913784e4a
MD5 3bc3b2770ba38d5ab99150aea0efa4a9
BLAKE2b-256 58224899b25f072f54b6dacc20941a1565af6a4a4dcdc92adc4a5ced68a2d51e

See more details on using hashes here.

Provenance

The following attestation bundles were made for goldeneye-0.1.0-py3-none-any.whl:

Publisher: release.yaml on isaaccorley/goldeneye

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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