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'
# )
Supported Models
Click to expand model list (7 models)
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.
Metadata
Release files for goldeneye 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| goldeneye-0.1.0.tar.gz | 33.5 kB | With provenance | Details for goldeneye-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| goldeneye-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for goldeneye-0.1.0-py3-none-any.whl |
Total release size: 78.1 kB
Release files / goldeneye-0.1.0.tar.gz
| Download URL | goldeneye-0.1.0.tar.gz |
|---|---|
| Size | 33.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9d269bb7eb8753817a9eb61a8c05a543506943b7814de9807bcef754e51816d5
|
|
BLAKE2b-256 checksum How to use checksums |
fe1531e2ddc2702bcea2c027ccfdf0e191e968841afe1592ff2be54c73f48e07
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 10, 2026.
Transparency logRelease files / goldeneye-0.1.0-py3-none-any.whl
| Download URL | goldeneye-0.1.0-py3-none-any.whl |
|---|---|
| Size | 44.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
385cb70ad7cce0c6ff84f4f771ef68f088c9f5d02ecf28929845390913784e4a
|
|
BLAKE2b-256 checksum How to use checksums |
58224899b25f072f54b6dacc20941a1565af6a4a4dcdc92adc4a5ced68a2d51e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 10, 2026.
Transparency logSecurity for goldeneye 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for goldeneye-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 10, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.