https://github.com/charmed-hpc/hpc-libs
A collection of libraries for authoring HPC charms πποΈ
https://github.com/charmed-hpc/hpc-libs
automation charm charmed-hpc hpc juju
Last synced: 4 months ago
JSON representation
A collection of libraries for authoring HPC charms πποΈ
- Host: GitHub
- URL: https://github.com/charmed-hpc/hpc-libs
- Owner: charmed-hpc
- License: apache-2.0
- Created: 2024-06-24T19:10:20.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-12-15T17:58:00.000Z (6 months ago)
- Last Synced: 2025-12-19T00:53:32.679Z (6 months ago)
- Topics: automation, charm, charmed-hpc, hpc, juju
- Language: Python
- Homepage:
- Size: 411 KB
- Stars: 1
- Watchers: 2
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# hpc-libs
[](https://github.com/charmed-hpc/hpc-libs/actions/workflows/ci.yaml)

[](https://matrix.to/#/#hpc:ubuntu.com)
A collection of libraries for authoring HPC charms πποΈ
The hpc-libs package is used within the [Juju charms](https://juju.is/charms-architecture) charms that compose
Charmed HPC. The current libraries shipped 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.
## β¨ Getting Started
Each module contains documentation and usage information in its module-level docstring.
## π€ What's next?
If you want to learn more about all the things you can do with the hpc-libs package,
or have any further questions on what you can do with the package, here are some
further resources for you to explore:
* [Open an issue](https://github.com/charmed-hpc/hpc-libs/issues/new?title=ISSUE+TITLE&body=*Please+describe+your+issue*)
* [Ask a question on Github](https://github.com/orgs/charmed-hpc/discussions/categories/q-a)
## π οΈ Development
The project uses [just](https://github.com/casey/just) and [uv](https://github.com/astral-sh/uv) for
development, which provides some useful commands that will help you while hacking on hpc-libs:
```shell
just fmt # Apply formatting standards to code.
just lint # Check code against coding style standards.
just typecheck # Run static type checks.
just unit # Run unit tests.
```
To run the hpc-libs integration tests, you'll need to have both
[gambol](https://github.com/nuccitheboss/gambol) and [LXD](https://ubuntu.com/lxd) installed
on your machine:
```shell
just integration # Run integration tests.
```
If you're interested in contributing your work to hpc-libs,
take a look at our [contributing guidelines](./CONTRIBUTING.md) for further details.
## π€ Project and community
hpc-libs is a project of the [Ubuntu High-Performance Computing community](https://ubuntu.com/community/governance/teams/hpc).
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](https://ubuntu.com/community/ethos/code-of-conduct)
* [Contributing guidelines](./CONTRIBUTING.md)
* [Join the conversation on Matrix](https://matrix.to/#/#hpc:ubuntu.com)
* [Get the latest news on Discourse](https://discourse.ubuntu.com/c/hpc/151)
* [Ask and answer questions on GitHub](https://github.com/orgs/charmed-hpc/discussions/categories/q-a)
## π License
The hpc-libs charm libraries are free software, distributed under the Apache Software License, version 2.0.
See the [Apache-2.0 LICENSE](./LICENSE) file for further details.