Pakages

GitHub stars

Pakages is a framework for building community packages and containers 📦️

Pakages is a wrapper around the spack package manager that aims to provide a set of consistent and trusted packages and environments, either for use separately or in combination with syspack/pack. It is optimized for install, build, and deploy of spack build caches to GitHub packages. The tool wraps spack to ensure that any installation first checks a repository of trusted pakages packages, and a Pakages user can run one of a set of base containers with a chosen set of operating systems and matched compilers, and then quickly install binaries from the GitHub packages cache. Since the packages are built from the same base containers, we can have more assurance of a cache hit than if just running on a local machine.

The packages are intended to be “trusted” because each package repository will be built and deployed with testing, and will use an automated tool (binoc) to always look for updates to package versions, along with updates from the spack upstream. The packages also will be provided with Software Bill’s of Materials (SBOMs) that will be added to the container and easy to interact with, eventually allowing the container to be scanned and compared to a vulnerability database.

You can see trusted packages under the pakages organization. Trusted means that they are built, tested, and deployed from modular repositories, and can be installed into consistent container bases that Pakages provides.

Goals

If you are a developer, pakages is a framework that is optimized to help you build packages from source, and distribute the binaries via GitHub packages and also provide robust metadata and an organization scheme that works well for containers. Pakages has focus on this build and deploy, and then testing and automatically updating the individual packages provided.

If you are a Pakages user, Pakages aims to provide you consistnet and tested container environments for your software.

To see the code, head over to the repository.

Getting started with Pakages

Pakages can be installed from pypi or directly from the repository. See Installation for installation, and then the Getting Started section for using pakages on the command line or from a provided base container.

Support

  • For bugs and feature requests, please use the issue tracker.

  • For contributions, visit Spliced on Github.

Resources

GitHub Repository

The code on GitHub.