Skip to main content

scherbelberg

SCHERBELBERG

/ˈʃɛʁbɛlbɛʁk/ (German, toponym, male: "mountain of shards" in Leipzig)

docs_master license status pypi_version conda_version pypi_versions

Synopsis

scherbelberg provides both a CLI and an API for deploying and managing small Dask-based HPC clusters in the Hetzner cloud. Development status alpha, stability acceptable, security also acceptable but implementation needs a review.

Project's Name

Next to impressive projects like Fugaku, which is named after Mount Fuji, the TOP500 are clearly missing an entry from the city of Leipzig. This project is named after one of the few significant "mountains" in the city, the "Scherbelberg", also known as the "Rosentalhügel": 20 meters above the surrounding landscape and 125 meters above sea level. Starting out as a late 19th century landfill, it has since become part of a park-like landscape. As of 1975, a famously shaky steel observation tower with a rather beautiful view is located at its top, overlooking not only the Leipziger Auenwald forest but also the city's sewage treatment plant.

Installation

scherbelberg can be installed via conda as follows:

conda install -c conda-forge scherbelberg

This package has been tested on Linux and Windows 10. It should work on most Unix-like systems. You must run a conda environment based entirely on recent versions of conda-forge packages with CPython versions 3.8, 3.9 or 3.10. ssh must be installed separately as a prerequisite. A Hetzner API token is required. By default, scherbelberg expects it to be located in the HETZNER environment variable.

See chapter on installation in scherbelberg's documentation for further details. Also see section on how to get started for additional steps.

CLI

Similar to git, the CLI is divided into sub-commands. They all come with their own parameters. Information on the latter can be found by using the --help option.

~> scherbelberg --help
Usage: scherbelberg [OPTIONS] COMMAND [ARGS]...

  HPC cluster deployment and management for the Hetzner Cloud

Options:
  --version
  --help     Show this message and exit.

Commands:
  catalog  list data centers and available servers types
  create   create cluster
  destroy  destroy cluster
  ls       list cluster nodes
  nuke     nuke cluster
  scp      scp from/to cluster node
  ssh      ssh into cluster node

See chapter on CLI in scherbelberg's documentation for further details.

API

scherbelberg uses asyncio. A cluster can basically be created and destroyed, with or without asyncio:

from asyncio import run
from scherbelberg import Cluster

c = await Cluster.from_new(**kwargs)
# or
c = run(Cluster.from_new(**kwargs))

await c.destroy()
# or
run(c.destroy())

Access to an earlier established cluster can also be gained:

from asyncio import run
from scherbelberg import Cluster

c = await Cluster.from_existing(**kwargs)
# or
c = run(Cluster.from_existing(**kwargs))

Once the cluster has been created or gained access to, one can simply request an initialized Dask client object:

dask_client = await c.get_client()
# or
dask_client = run(c.get_client(asynchronous = False))

See chapter on API in scherbelberg's documentation for further details.

Metadata

Release files for scherbelberg 0.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scherbelberg 0.0.6
File Size Uploaded Provenance
scherbelberg-0.0.6.tar.gz 114.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for scherbelberg 0.0.6
File Interpreter ABI Platform
scherbelberg-0.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 161.8 kB

Release files / scherbelberg-0.0.6.tar.gz

Download URL scherbelberg-0.0.6.tar.gz
Size 114.8 kB
Tags Source
SHA-256 checksum
How to use checksums
cbb5534a4612499f95ee3afabfaf9390d7fae982f09bc860500113c9c40ab478
BLAKE2b-256 checksum
How to use checksums
6b93acd31cdc84896607db0fd65dc0f79d8018e0664f6a782e922b4d393e91bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/0.0.0 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

Release files / scherbelberg-0.0.6-py3-none-any.whl

Download URL scherbelberg-0.0.6-py3-none-any.whl
Size 46.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5a366432a52491065ed0a3b65a951fb0cb5b7348caa2e7175ae512dc8e357011
BLAKE2b-256 checksum
How to use checksums
33e4558e8df127058a4de686e28a6913f5da85651b08e8b37d7b382bb282bdbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/0.0.0 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

Security for scherbelberg 0.0.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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