You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit represents the final day release of the EarthReach project,
replacing the initial main branch with the full implementation.
Key Features:
- Dual-LLM framework (Generator + Evaluator agents)
- Complete earth_reach package structure
- VLLM inference server integration
- Full CLI interface with era command
- Documentation and example notebooks
Package structure migrated from src/earth_reach_agent/ to src/earth_reach/
EarthReach is a challenge from the 2025 edition dedicated to enhancing the accessibility of meteorological data visualisations produced by Earthkit, by equipping the plots module with LLM-powered alternative text generation capabilities.
20
+
EarthReach is a Python library for generating natural language descriptions of meteorological data visualizations. The library extends [earthkit-plots](https://github.com/ecmwf/earthkit-plots) by providing automated text generation capabilities for weather charts, enabling programmatic conversion of visual data representations into structured textual descriptions.
21
+
22
+
The system implements a dual-LLM architecture consisting of a generator agent and an evaluator agent. The generator creates initial descriptions from chart images and associated GRIB file metadata, while the evaluator assesses output quality across multiple criteria including scientific accuracy, coherence, and meteorological relevance. This iterative process continues until quality thresholds are met or maximum iterations are reached.
23
+
24
+

18
25
19
26
## Installation
20
27
21
28
### Prerequisites
22
29
23
-
- Python 3.12 or higher
24
-
-[uv](https://docs.astral.sh/uv/) - Python package and project manager
30
+
-[uv](https://docs.astral.sh/uv/): Python package and project manager (will automatically install Python 3.12+ if needed)
31
+
-[Climate Data Store ](https://cds.climate.copernicus.eu/how-to-api): API key configured for accessing meteorological data
32
+
- API key for a supported LLM provider (OpenAI, Google Gemini, Anthropic Claude, Groq, or any OpenAI-compatible API provider)
25
33
26
34
### Setup
27
35
@@ -32,42 +40,63 @@ EarthReach is a challenge from the 2025 edition dedicated to enhancing the acces
32
40
```
33
41
2.**Create a virtual environment and install dependencies**
34
42
```sh
35
-
uv sync
43
+
uv sync --group dev
36
44
```
37
45
This command will automatically:
38
46
- Create a .venv virtual environment
39
47
- Install all project dependencies from pyproject.toml
48
+
- Install development dependencies
40
49
41
50
3.**Activate the virtual environment**
42
51
```sh
43
52
source .venv/bin/activate # On Windows, use: .venv\Scripts\activate
44
53
```
45
54
55
+
4.**Set up pre-commit hooks (recommended for development)**
56
+
```sh
57
+
uv run pre-commit install
58
+
```
59
+
46
60
You're now ready to use the project.
47
61
48
62
## Project Structure
49
63
50
64
```sh
51
-
.
65
+
.
52
66
├── docs/ # Project documentation
53
67
├── notebooks/ # Tutorials & experiments
54
68
├── src/
55
-
│ ├── earth_reach_agent/ # Main package
69
+
│ ├── earth_reach/ # Main package
56
70
│ └── tests/ # Unit and integration tests (to come)
57
71
├── vllm/ # VLLM inference server setup
58
72
├── pyproject.toml # Project dependencies and metadata
59
73
└── uv.lock # Locked dependency versions
60
74
```
61
75
62
-
## VLLM Inference Server
76
+
## Basic Usage
63
77
64
-
To run this project, you will need to have an openAI-compatible LLM inference server.
78
+
```python
79
+
from earth_reach import EarthReachAgent
80
+
import earthkit.plots as ekp
81
+
import earthkit.data as ekd
65
82
66
-
We provide instructions on how to setup your own secured inference server using [VLLM](./vllm/setup.md).
0 commit comments