A collection of charm libraries for authoring HPC charms πποΈ
The hpc-libs charm libraries are used within the Juju charms that compose
Charmed HPC. They are standalone libraries, and should be managed
as charm libraries, with installation via charmcraft fetch-lib ...
, after which they may be
imported and used as normal Python modules. The current charm libraries in hpc-libs include:
is_container
- a library for detecting the virtualization environment the charm is running within.slurm_ops
- a library for managing Slurm cluster operations via snap or systemd.Each charm library contains documentation and usage information in its module-level docstring. Pretty documentation, along with installation instructions, can be viewed on Charmhub:
If you want to learn more about all the things you can do with the hpc-libs charm libraries, or have any further questions on what you can do with the charm libraries, here are some further resources for you to explore:
This project uses tox as its command runner, which provides some useful commands that will help you while hacking on hpc-libs:
tox run -e fmt # Apply formatting standards to code.
tox run -e lint # Check code against coding style standards.
tox run -e static # Run static type checks.
tox run -e unit # Run unit tests.
To run the hpc-libs integration tests, you'll need to have both gambol and LXD installed on your machine:
tox run -e integration # Run integration tests.
If you're interested in contributing your work to hpc-libs, take a look at our contributing guidelines for further details.
The hpc-libs charm libraries are a project of the Ubuntu High-Performance Computing community. Interested in contributing bug fixes, new editors, documentation, or feedback? Want to join the Ubuntu HPC community? Youβve come to the right place π€©
Hereβs some links to help you get started with joining the community:
The hpc-libs charm libraries are free software, distributed under the Apache Software License, version 2.0. See the Apache-2.0 LICENSE file for further details.