google / google/Xee

[FR]: Add documentation on using XEE with Dask

Open Beginner friendly
#345 0 comments 0 reactions 0 assignees View on GitHub
enhancement triage
Dominant language
Python
Stars
371
Forks
48
PR merge metrics
No merged PRs in 30d

Description

### Feature Summary

Using XEE with a Dask distributed cluster requires setting up authentication for each Dask worker. I am able to use a setup like the following to make this work.

```
from dask.distributed import Client
from dask.distributed import WorkerPlugin

client = Client()

class EEPlugin(WorkerPlugin):
def __init__(self):
pass
def setup(self, worker):
self.worker = worker
try:
ee.Initialize(project=cloud_project)
except:
ee.Authenticate()
ee.Initialize(project=cloud_project)

ee_plugin = EEPlugin()
client.register_plugin(ee_plugin)
```

Here's a [compelte example](https://www.geopythontutorials.com/notebooks/xee_time_series_processing.html).

### Use Cases

Dask allows users to use their own machien or cluster for distributed computing. This is useful in cases where you need to use scientific Python packages instead of GEE API. Here's an example [Calculating SPI](https://www.geopythontutorials.com/notebooks/xee_calculating_spi.html)

Contributor guide

Open the contributing guide

Research direction

Review the supplied dask.distributed Client and WorkerPlugin example, along with the linked complete example and SPI use case. Find the appropriate XEE documentation entry point, explain worker authentication and initialization for a Dask cluster, and link the examples so users can reproduce the setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
distributed-systems, documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.