Skip to content

Commit ae2d485

Browse files
committed
chore: apply prettier formatting to docs and config files
Run prettier (via pre-commit) across all markdown, YAML, and CSS files. No content changes — whitespace, line wrapping, and list indentation only. Brings the repo into compliance with the configured prettier hook so future pre-commit runs are clean.
1 parent 83c922c commit ae2d485

34 files changed

+763
-776
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@ The format is based on Keep a Changelog, and the project follows Semantic Versio
1111
## [0.1.1] - 2026-04-01
1212

1313
### Added
14+
1415
- Automated pull request changelog enforcement with a `skip-changelog` escape hatch for docs, tests, CI, and other internal-only changes.
1516
- Tag-driven GitHub Release publishing that uses the matching `CHANGELOG.md` section as the release notes.
1617
- Trusted Publishing release automation for PyPI and TestPyPI, including a manual TestPyPI dry run and install smoke test.
1718

1819
### Changed
20+
1921
- The contribution and release workflow now treats `CHANGELOG.md` as the canonical source for user-visible release notes.
2022
- The tag-triggered release flow now validates `src/rs_embed/_version.py`, publishes to PyPI, and only then creates the GitHub Release.
2123
- The tag-triggered release flow now validates the matching `CHANGELOG.md` entry before publishing to PyPI, so a missing release-notes section fails early instead of after package upload.
@@ -27,11 +29,13 @@ The format is based on Keep a Changelog, and the project follows Semantic Versio
2729
### Removed
2830

2931
### Fixed
32+
3033
- The TestPyPI smoke test now verifies package importability and the `rs-embed` CLI entry point, not just installability and version metadata.
3134

3235
## [0.1.0] - 2026-03-31
3336

3437
### Added
38+
3539
- Initial public alpha release of `rs-embed`.
3640
- Unified ROI to embedding API centered on `get_embedding(...)`, `get_embeddings_batch(...)`, `export_batch(...)`, and `inspect_provider_patch(...)`.
3741
- Support for precomputed embedding products including `tessera`, `gse`, and `copernicus`.

README.md

Lines changed: 34 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<div align="center">
22

3-
# <img src="https://raw.githubusercontent.com/cybergis/rs-embed/main/docs/assets/icon.png" width="35" alt="icon" /> rs-embed
4-
**One line code to get Any Remote Sensing Foundation Model (RSFM) embeddings for Any Place and Any Time**
3+
# <img src="https://raw.githubusercontent.com/cybergis/rs-embed/main/docs/assets/icon.png" width="35" alt="icon" /> rs-embed
54

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

77
[![arXiv](https://img.shields.io/badge/arXiv-2602.23678-b31b1b.svg)](https://arxiv.org/abs/2602.23678)
88
[![Docs](https://img.shields.io/badge/docs-online-brightgreen)](https://cybergis.github.io/rs-embed/)
@@ -13,26 +13,20 @@
1313
![Last Commit](https://img.shields.io/github/last-commit/cybergis/rs-embed)
1414
![License](https://img.shields.io/github/license/cybergis/rs-embed)
1515

16-
17-
1816
[Docs](https://cybergis.github.io/rs-embed/) · [Releases](https://github.com/cybergis/rs-embed/releases) · [Changelog](https://github.com/cybergis/rs-embed/blob/main/CHANGELOG.md) · [StartNow](https://github.com/cybergis/rs-embed/blob/main/examples/playground.ipynb) · [UseCase](https://github.com/cybergis/rs-embed/blob/main/examples/demo.ipynb) · [Paper](https://arxiv.org/abs/2602.23678)
1917

2018
</div>
2119

2220
> Get Start on [I-GUIDE](https://platform.i-guide.io/notebooks/a013ce97-d963-4262-9f21-edd09976181a) Today!
2321
24-
<img src="https://raw.githubusercontent.com/cybergis/rs-embed/main/docs/assets/background.png" />
25-
26-
27-
22+
<img src="https://raw.githubusercontent.com/cybergis/rs-embed/main/docs/assets/background.png" />
2823

2924
## TL;DR
3025

3126
```python
3227
emb = get_embedding("prithvi", spatial=..., temporal=..., output=...)
3328
```
3429

35-
3630
## Install
3731

3832
```bash
@@ -51,15 +45,14 @@ cd rs-embed
5145
pip install -e . # use -e ".[terratorch]" if you need terramind
5246
```
5347

54-
5548
If this is your first time using Google Earth Engine, authenticate once:
5649

5750
```bash
5851
earthengine authenticate
5952
```
6053

61-
6254
## Quick Example
55+
6356
```python
6457
from rs_embed import PointBuffer, TemporalSpec, OutputSpec, get_embedding
6558

@@ -83,7 +76,7 @@ See the visualization helper and end-to-end notebook in the repository:
8376
- [`examples/plot_utils.py`](https://github.com/cybergis/rs-embed/blob/main/examples/plot_utils.py)
8477
- [`examples/playground.ipynb`](https://github.com/cybergis/rs-embed/blob/main/examples/playground.ipynb)
8578

86-
<img src="https://raw.githubusercontent.com/cybergis/rs-embed/main/docs/assets/vis.png" width=650 />
79+
<img src="https://raw.githubusercontent.com/cybergis/rs-embed/main/docs/assets/vis.png" width=650 />
8780

8881
## Main API
8982

@@ -94,45 +87,41 @@ For new users, start with these primary APIs:
9487
- `export_batch(...)`: export datasets / experiments (single or multiple ROIs)
9588
- `inspect_provider_patch(...)`: inspect raw provider patches before inference
9689

97-
9890
## Supported Models
9991

10092
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](https://cybergis.github.io/rs-embed/models/).
10193

10294
### Precomputed Embeddings
10395

104-
| Model ID | Resolution | Time Coverage | Publication |
105-
|---|---|---|---|
106-
|`tessera` | 10m | 2017-2025 |[CVPR 2026](https://arxiv.org/abs/2506.20380v4)|
107-
|`gse` (Alpha Earth) | 10 m | 2017-2024 |[arXiv 2025](https://arxiv.org/abs/2507.22291)|
108-
| `copernicus` | 0.25° | 2021 |[ICCV 2025](https://arxiv.org/abs/2503.11849)|
96+
| Model ID | Resolution | Time Coverage | Publication |
97+
| ------------------- | ---------- | ------------- | ----------------------------------------------- |
98+
| `tessera` | 10m | 2017-2025 | [CVPR 2026](https://arxiv.org/abs/2506.20380v4) |
99+
| `gse` (Alpha Earth) | 10 m | 2017-2024 | [arXiv 2025](https://arxiv.org/abs/2507.22291) |
100+
| `copernicus` | 0.25° | 2021 | [ICCV 2025](https://arxiv.org/abs/2503.11849) |
109101

110102
### On-the-fly Foundation Models
111103

112-
| Model ID | Primary Input | Resolution(Default) | Publication | Link |
113-
|---|---|---|---|---|
114-
| `satmae` | S2 RGB | 10m | [NeurIPS 2022](https://arxiv.org/abs/2207.08051) |[link](https://github.com/sustainlab-group/SatMAE)|
115-
| `satmaepp` | S2 RGB | 10m | [CVPR 2024](https://arxiv.org/abs/2403.05419) | [link](https://github.com/techmn/satmae_pp) |
116-
| `satmaepp_s2_10b` | S2 SR 10-band | 10m | [CVPR 2024](https://arxiv.org/abs/2403.05419) | [link](https://github.com/techmn/satmae_pp) |
117-
| `prithvi` | S2 6-band | 30m | [arXiv 2023](https://arxiv.org/abs/2310.18660) | [link](https://huggingface.co/ibm-nasa-geospatial) |
118-
| `scalemae` | S2 RGB (+ scale) | 10m | [ICCV 2023](https://arxiv.org/abs/2212.14532) | [link](https://github.com/bair-climate-initiative/scale-mae) |
119-
| `remoteclip` | S2 RGB | 10m | [TGRS 2024](https://arxiv.org/abs/2306.11029) |[link](https://github.com/ChenDelong1999/RemoteCLIP) |
120-
| `dofa` | Multi-band + wavelengths | 10m | [arXiv 2024](https://arxiv.org/abs/2403.15356) | [link](https://github.com/zhu-xlab/DOFA) |
121-
| `satvision` | TOA 14-channel | 1000m | [arXiv 2024](https://arxiv.org/abs/2411.17000) | [link](https://github.com/nasa-nccs-hpda/pytorch-caney)|
122-
| `anysat` | S2 time series (10-band) | 10m | [CVPR 2025](https://arxiv.org/abs/2412.14123) | [link](https://github.com/gastruc/AnySat) |
123-
| `galileo` | S2 time series (10-band) | 10m | [ICML 2025](https://arxiv.org/abs/2502.09356) | [link](https://github.com/nasaharvest/galileo) |
124-
| `wildsat` | S2 RGB | 10m | [ICCV 2025](https://arxiv.org/abs/2412.14428) | [link](https://github.com/mdchuc/HRSFM) |
125-
| `fomo` | S2 12-band | 10m | [AAAI 2025](https://arxiv.org/abs/2312.10114) |[link](https://github.com/RolnickLab/FoMo-Bench)|
126-
| `terramind` | S2 12-band | 10m | [ICCV 2025](https://arxiv.org/abs/2504.11171) | [link](https://github.com/IBM/terramind) |
127-
| `terrafm` | S2 12-band / S1 VV-VH | 10m | [ICLR 2026](https://arxiv.org/abs/2506.06281) | [link](https://github.com/mbzuai-oryx/TerraFM) |
128-
| `thor` | S2 10-band | 10m | [arXiv 2026](https://arxiv.org/abs/2601.16011) | [link](https://github.com/FM4CS/THOR) |
129-
| `agrifm` | S2 time series (10-band) | 10m | [RSE 2026](https://www.sciencedirect.com/science/article/pii/S0034425726000040) | [link](https://github.com/flyakon/AgriFM) |
104+
| Model ID | Primary Input | Resolution(Default) | Publication | Link |
105+
| ----------------- | ------------------------ | ------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------ |
106+
| `satmae` | S2 RGB | 10m | [NeurIPS 2022](https://arxiv.org/abs/2207.08051) | [link](https://github.com/sustainlab-group/SatMAE) |
107+
| `satmaepp` | S2 RGB | 10m | [CVPR 2024](https://arxiv.org/abs/2403.05419) | [link](https://github.com/techmn/satmae_pp) |
108+
| `satmaepp_s2_10b` | S2 SR 10-band | 10m | [CVPR 2024](https://arxiv.org/abs/2403.05419) | [link](https://github.com/techmn/satmae_pp) |
109+
| `prithvi` | S2 6-band | 30m | [arXiv 2023](https://arxiv.org/abs/2310.18660) | [link](https://huggingface.co/ibm-nasa-geospatial) |
110+
| `scalemae` | S2 RGB (+ scale) | 10m | [ICCV 2023](https://arxiv.org/abs/2212.14532) | [link](https://github.com/bair-climate-initiative/scale-mae) |
111+
| `remoteclip` | S2 RGB | 10m | [TGRS 2024](https://arxiv.org/abs/2306.11029) | [link](https://github.com/ChenDelong1999/RemoteCLIP) |
112+
| `dofa` | Multi-band + wavelengths | 10m | [arXiv 2024](https://arxiv.org/abs/2403.15356) | [link](https://github.com/zhu-xlab/DOFA) |
113+
| `satvision` | TOA 14-channel | 1000m | [arXiv 2024](https://arxiv.org/abs/2411.17000) | [link](https://github.com/nasa-nccs-hpda/pytorch-caney) |
114+
| `anysat` | S2 time series (10-band) | 10m | [CVPR 2025](https://arxiv.org/abs/2412.14123) | [link](https://github.com/gastruc/AnySat) |
115+
| `galileo` | S2 time series (10-band) | 10m | [ICML 2025](https://arxiv.org/abs/2502.09356) | [link](https://github.com/nasaharvest/galileo) |
116+
| `wildsat` | S2 RGB | 10m | [ICCV 2025](https://arxiv.org/abs/2412.14428) | [link](https://github.com/mdchuc/HRSFM) |
117+
| `fomo` | S2 12-band | 10m | [AAAI 2025](https://arxiv.org/abs/2312.10114) | [link](https://github.com/RolnickLab/FoMo-Bench) |
118+
| `terramind` | S2 12-band | 10m | [ICCV 2025](https://arxiv.org/abs/2504.11171) | [link](https://github.com/IBM/terramind) |
119+
| `terrafm` | S2 12-band / S1 VV-VH | 10m | [ICLR 2026](https://arxiv.org/abs/2506.06281) | [link](https://github.com/mbzuai-oryx/TerraFM) |
120+
| `thor` | S2 10-band | 10m | [arXiv 2026](https://arxiv.org/abs/2601.16011) | [link](https://github.com/FM4CS/THOR) |
121+
| `agrifm` | S2 time series (10-band) | 10m | [RSE 2026](https://www.sciencedirect.com/science/article/pii/S0034425726000040) | [link](https://github.com/flyakon/AgriFM) |
130122

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

133-
134-
135-
136125
## Learn More
137126

138127
📚 [Full documentation](https://cybergis.github.io/rs-embed/)
@@ -145,37 +134,35 @@ Resolution here means the default provider/source fetch resolution used by the a
145134

146135
🪀 [Use case: Maize yield mapping Illinois](https://github.com/cybergis/rs-embed/blob/main/examples/demo.ipynb)
147136

148-
149137
## Extending & Contributing
150138

151139
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](https://github.com/cybergis/rs-embed/issues) and share the relevant links, context, and examples.
152140

153-
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`](https://cybergis.github.io/rs-embed/extending/) guide and the [contributing guide](https://cybergis.github.io/rs-embed/contributing/).
154-
155-
141+
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`](https://cybergis.github.io/rs-embed/extending/) guide and the [contributing guide](https://cybergis.github.io/rs-embed/contributing/).
156142

157143
## 🎖 Acknowledgements
144+
158145
We would like to thank the following organizations and projects that make rs-embed possible: [Google Earth Engine](https://earthengine.google.com), [TorchGeo](https://github.com/torchgeo/torchgeo), [GeoTessera](https://github.com/ucam-eo/geotessera), [TerraTorch](https://github.com/terrastackai/terratorch), [rshf](https://github.com/mvrl/rshf), and the [Copernicus-Embed](https://huggingface.co/datasets/torchgeo/copernicus_embed).
159146

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

162149
## Citation
150+
163151
```
164152
@article{ye2026modelplacetimeremote,
165-
title={Any Model, Any Place, Any Time: Get Remote Sensing Foundation Model Embeddings On Demand},
153+
title={Any Model, Any Place, Any Time: Get Remote Sensing Foundation Model Embeddings On Demand},
166154
author={Dingqi Ye and Daniel Kiv and Wei Hu and Jimeng Shi and Shaowen Wang},
167155
year={2026},
168156
eprint={2602.23678},
169157
archivePrefix={arXiv},
170158
primaryClass={cs.CV},
171-
url={https://arxiv.org/abs/2602.23678},
159+
url={https://arxiv.org/abs/2602.23678},
172160
}
173161
```
174162

175-
176163
## License
177-
This project is released under the [Apache-2.0](https://github.com/cybergis/rs-embed/blob/main/LICENSE)
178164

165+
This project is released under the [Apache-2.0](https://github.com/cybergis/rs-embed/blob/main/LICENSE)
179166

180167
## Contributors
181168

docs/api.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,15 @@ Most users only need four public entry points: `get_embedding(...)`, `get_embedd
1313

1414
## Choose by Task
1515

16-
| I want to... | Read this page |
17-
|---|---|
18-
| understand spatial/temporal/output specs | [API: Specs and Data Structures](api_specs.md) |
19-
| get one embedding or batch embeddings | [API: Embedding](api_embedding.md) |
20-
| build export pipelines and datasets | [API: Export](api_export.md) |
21-
| inspect raw provider patches before inference | [API: Inspect](api_inspect.md) |
16+
| I want to... | Read this page |
17+
| --------------------------------------------- | ---------------------------------------------- |
18+
| understand spatial/temporal/output specs | [API: Specs and Data Structures](api_specs.md) |
19+
| get one embedding or batch embeddings | [API: Embedding](api_embedding.md) |
20+
| build export pipelines and datasets | [API: Export](api_export.md) |
21+
| inspect raw provider patches before inference | [API: Inspect](api_inspect.md) |
2222

2323
---
24+
2425
## Useful Extras
2526

2627
`export_npz(...)` is a compatibility wrapper around `export_batch(...)` for single-ROI `.npz`, `inspect_gee_patch(...)` is the older GEE-focused name for `inspect_provider_patch(...)`, and `list_models()` is the stable public helper for inspecting the model catalog.

0 commit comments

Comments
 (0)