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:
- Ubuntu Code of Conduct
- Contributing guidelines
- Join the conversation on Matrix
- Get the latest news on Discourse
- Ask and answer questions on GitHub
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.