Metadata-Version: 2.4
Name: dask-hpcconfig
Version: 2025.6.0
Summary: Configuration for various dask clusters
Author: Justus Magin
License-Expression: MIT
Project-URL: Documentation, https://dask-hpcconfig.readthedocs.io
Project-URL: Repository, https://github.com/umr-lops/dask-hpcconfig
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyyaml
Requires-Dist: dask>=2024.06.0
Requires-Dist: distributed>=2024.06.0
Provides-Extra: jobqueue
Requires-Dist: dask-jobqueue>=0.8; extra == "jobqueue"
Provides-Extra: cli
Requires-Dist: typer; extra == "cli"
Requires-Dist: rich; extra == "cli"
Requires-Dist: tornado; extra == "cli"
Dynamic: license-file

# dask-hpcconfig

To install, use

```bash
python -m pip install git+https://github.com/umr-lops/dask-hpcconfig.git#egg=dask-hpcconfig
```

or clone the source:

```bash
git clone https://github.com/umr-lops/dask-hpcconfig.git
cd dask-hpcconfig
```

and then install from there:

```bash
python -m pip install .
```

or as "editable":

```bash
python -m pip install -e .
```

## Usage

```python
import dask_hpcconfig
```

To list the available cluster definitions:

```python
dask_hpcconfig.print_clusters()
```

or, as a mapping of name to type:

```python
clusters = dask_hpcconfig.available_clusters()
```

To create a cluster, use:

```python
cluster = dask_hpcconfig.cluster(name)
```

where `name` is the name of one of the available clusters.

To override any particular setting:
For example on 'datarmor-local' to use only 7 workers for increasing memory size of each worker:

```python
overrides = {"cluster.n_workers": 7}
cluster = dask_hpcconfig.cluster("datarmor-local", **overrides)
```

For example on 'datarmor' to use only 7 workers for increasing memory size of each worker, and use 49 workers (i.e. 7 mpi_1 nodes) :

```python
overrides = {"cluster.cores": 7}
cluster = dask_hpcconfig.cluster("datarmor", **overrides)
cluster.scale(49)
```

`cluster` can then be used to create a `Client`:

```python
from distributed import Client

client = Client(cluster)
```
