Skip to main content

icon rs-embed

One line code to get Any Remote Sensing Foundation Model (RSFM) embeddings for Any Place and Any Time

arXiv Docs Python PyTorch 2.7

Visitors Last Commit License PyPI Downloads

Docs · StartNow · Releases · Changelog · UseCase · Paper

Get Start on I-GUIDE Today!

TL;DR

emb = get_embedding("prithvi", spatial=..., temporal=..., output=...)

Install

# base install (always use the latest version for best experience)
pip install --upgrade rs-embed

# add [terratorch] only if you use terramind
pip install --upgrade "rs-embed[terratorch]"

For local development:

git clone https://github.com/cybergis/rs-embed.git
cd rs-embed
pip install -e .  # use -e ".[terratorch]" if you need terramind

If this is your first time using Google Earth Engine, authenticate once:

earthengine authenticate

Quick Example

from rs_embed import PointBuffer, TemporalSpec, OutputSpec, get_embedding

spatial = PointBuffer(lon=121.5, lat=31.2, buffer_m=2048)
temporal = TemporalSpec.range(
    "2022-06-01",
    "2022-09-01",
)

emb = get_embedding(
    "prithvi",
    spatial=spatial,
    temporal=temporal,
    output=OutputSpec.pooled(),
)

Tip: Default settings are designed as a trade-off between compute cost and embedding quality. If you have sufficient compute resources, check Choosing Settings and individual model pages to get the best results.

See the visualization helper and end-to-end notebook in the repository:

Main API

For new users, start with these primary APIs:

  • get_embedding(...): one ROI -> one embedding
  • get_embeddings_batch(...): many ROIs, same model
  • export_batch(...): export datasets / experiments (single or multiple ROIs)
  • inspect_provider_patch(...): inspect raw provider patches before inference

Supported Models

This is a convenience index with basic model info only (for quick scanning / links). For detailed I/O behavior and preprocessing notes, see Supported Models.

Precomputed Embeddings

Model ID Resolution Time Coverage Publication
tessera 10m 2017-2025 CVPR 2026
gse (Alpha Earth) 10 m 2017-2024 arXiv 2025
copernicus 0.25° 2021 ICCV 2025

On-the-fly Foundation Models

Model ID Primary Input Resolution(Default) Publication Link
olmoearth S2 L2A 12-band / S1 VV-VH 10m CVPR 2026 link
agrifm S2 time series (10-band) 10m RSE 2026 link
thor S2 10-band 10m arXiv 2026 link
terrafm S2 12-band / S1 VV-VH 10m ICLR 2026 link
terramind S2 12-band 10m ICCV 2025 link
galileo S2 time series (10-band) 10m ICML 2025 link
wildsat S2 RGB 10m ICCV 2025 link
anysat S2 time series (10-band) 10m CVPR 2025 link
fomo S2 12-band 10m AAAI 2025 link
prithvi S2 6-band 30m arXiv 2024 link
satvision TOA 14-channel 1000m arXiv 2024 link
dofa Multi-band + wavelengths 10m arXiv 2024 link
clay S2 L2A 10-band (+ latlon/time/gsd/wavelengths) 10m model release v1.5, 2024 link
satmaepp S2 RGB (modality=rgb, default) or S2 SR 10-band (modality=s2_10b) 10m CVPR 2024 link
remoteclip S2 RGB 10m TGRS 2024 link
scalemae S2 RGB (+ scale) 10m ICCV 2023 link
satmae S2 RGB 10m NeurIPS 2022 link

Resolution here means the default provider/source fetch resolution used by the adapter, not the final resized tensor shape seen by the model.

Learn More

📚 Full documentation

🪄 Get Started: Try rs-embed Now

🪀 Use case: Maize yield mapping Illinois

📢 Disscusion

🧾 Release policy and versioning

📌 Project changelog

Extending & Contributing

We welcome issues for new model integrations, extension ideas, bugs, and documentation gaps. If you have your own work, or a model or paper that you think would be valuable to include in rs-embed, please open an Issue and share the relevant links, context, and examples.

We also warmly welcome community contributions, including new model support, bug fixes, documentation improvements, and example notebooks. If you would like to contribute directly, please start with the extending guide and the contributing guide.

🎖 Acknowledgements

We would like to thank the following organizations and projects that make rs-embed possible: Google Earth Engine, TorchGeo, GeoTessera, TerraTorch, rshf, and the Copernicus-Embed.

This library also builds upon the incredible work of the Remote Sensing community!(Full list and citations available in our Documentation)

Citation

@article{ye2026modelplacetimeremote,
      title={Any Model, Any Place, Any Time: Get Remote Sensing Foundation Model Embeddings On Demand},
      author={Dingqi Ye and Daniel Kiv and Wei Hu and Jimeng Shi and Shaowen Wang},
      year={2026},
      eprint={2602.23678},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2602.23678},
}

License

This project is released under the Apache-2.0

Contributors

Download files

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

Source Distribution

rs_embed-0.2.1.tar.gz (417.7 kB view details)

Uploaded Source

Built Distribution

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

rs_embed-0.2.1-py3-none-any.whl (515.5 kB view details)

Uploaded Python 3

File details

Details for the file rs_embed-0.2.1.tar.gz.

File metadata

  • Download URL: rs_embed-0.2.1.tar.gz
  • Upload date:
  • Size: 417.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for rs_embed-0.2.1.tar.gz
Algorithm Hash digest
SHA256 6248cade3e298668cb9848bca43bafebba60a2be837ea911b57f2c39d2c85870
MD5 a9a6dcc3f58c0c2f8eb50c38f8f8f31a
BLAKE2b-256 b74ff34d6f94ddc02803ca06304798032dc5d83831f1a99cafcce3f18e5edcf5

See more details on using hashes here.

Provenance

The following attestation bundles were made for rs_embed-0.2.1.tar.gz:

Publisher: release.yml on cybergis/rs-embed

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

File details

Details for the file rs_embed-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: rs_embed-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 515.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for rs_embed-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a18973cedf9d414fed707394b88b6bddeedf475f73089dda01e70e7a3a23b953
MD5 78c91aba19029aba60c55b8319dc73a2
BLAKE2b-256 2bd034de75429bf0fe0e85011a15c1b765c04165b833768523170dd8048babe2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rs_embed-0.2.1-py3-none-any.whl:

Publisher: release.yml on cybergis/rs-embed

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

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

0.2.0

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 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