Skip to main content

aef-loader

Virtualizarr access for AEF embeddings as an analysis ready data cube, alongside rapid querying of the GCS and Source Coop index. 2x quicker than rioxarray for single tile downloads.

What is AEF?

Alpha Earth Foundations embeddings is a dataset produced by Google Deepmind, providing a yearly 64-channel embeddings derived from numerous satellite image sources with numerous downstream applications. The embeddings are stored as multi-band Cloud-Optimised GeoTIFFs (COGs), alongside a parquet index file.

AEF is stored by two hosts:

  • Google Cloud Storage - requester pays (requires gcp_project)
  • Source Cooperative - AWS hosted and free to access

More in the docs.

What does aef-loader do?

aef-loader provides two key functionalities:

  1. Rapid download, and querying of indexes for source_coop + gcs with obstore and geopandas
  2. Lazily load the COGs as VirtualiZarr as a datatree by UTM zone, COG headers are cached, so repeated reads are cheap(er)

As additional utilities:

  • dequantize, requantize, or raw-cast (int8 → float32) the embeddings
  • split the "embeddings" dataset into 64 datasets
  • use odc-geobox for dask aware reprojections for creating multi-zone composites

Overview

Alpha Earth Foundations embeddings is a dataset produced by Google Deepmind, providing a yearly 64-channel embeddings derived from numerous satellite image sources with numerous downstream applications. The embeddings are stored as multi-band Cloud-Optimised GeoTIFFs (COGs).

aef-loader supports two dataset hosts, both having tradeoffs:

  1. Google Cloud Storage - maintained by the Earth Engine team, more up to date but requiring authentication and "requester pays", meaning users must pay egress and other charges.
  2. Source Cooperative - Hosted on AWS S3 and free to access, includes the full time range (2017-2025) Recommended

Installation

pip install aef-loader

or:

uv add aef-loader

Quick Start

import asyncio
from aef_loader import AEFIndex, VirtualTiffReader, DataSource
from aef_loader.utils import reproject_datatree
from odc.geo.geobox import GeoBox

async def main():
    # Initialize index (Source Cooperative - no auth needed)
    index = AEFIndex(source=DataSource.SOURCE_COOP)
    await index.download()
    index.load() # returns a gdf for alternative use

    # Query for tiles
    tiles = await index.query(
        bbox=(-122.5, 37.5, -122.0, 38.0),
        years=(2020, 2023),
    )

    # Load tiles organized by UTM zone
    async with VirtualTiffReader() as reader:
        tree = await reader.open_tiles_by_zone(tiles)

    # Each zone is a separate Dataset with its native CRS
    for zone in tree.children:
        ds = tree[zone].ds
        print(f"{zone}: {ds.odc.crs}, {dict(ds.sizes)}")

    # Optionally reproject all zones to a common CRS
    target = GeoBox.from_bbox(
        bbox=(-122.5, 37.5, -122.0, 38.0),
        crs="EPSG:4326",
        resolution=0.0001,
    )
    combined = reproject_datatree(tree, target)

asyncio.run(main())

Attribution and Dataset License

This dataset is licensed under CC-BY 4.0 and requires the following attribution text: "The AlphaEarth Foundations Satellite Embedding dataset is produced by Google and Google DeepMind."

Special notes

Thanks to Max Jones, Virtual-tiff and Virtualizarr.

Metadata

Release files for aef-loader 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aef-loader 0.3.0
File Size Uploaded
aef_loader-0.3.0.tar.gz 168.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aef-loader 0.3.0
File Interpreter ABI Platform
aef_loader-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 189.3 kB

Release files / aef_loader-0.3.0.tar.gz

Download URL aef_loader-0.3.0.tar.gz
Size 168.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c807d4d27ad0f4abf3d44fea298f3c2396d19ce4df3d88036177cb31f3d8d691
BLAKE2b-256 checksum
How to use checksums
23a025adc1e87f7a5bbd16a9499bc19655d995b94339305d2761296ab2bf3373
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 6, 2026.

Transparency log

Release files / aef_loader-0.3.0-py3-none-any.whl

Download URL aef_loader-0.3.0-py3-none-any.whl
Size 20.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e14bb18654a5d64294da7b15b8d7e2186382138e0ad5003742bc6dfe33a5a541
BLAKE2b-256 checksum
How to use checksums
b0dd274d9fb3087388cee23b632804c79107dcbfc60d674bf39dd1efdd2ab527
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 6, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.1

2 release files

This release

0.3.0 This release

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page