Hey! These docs are for version 1.0, which is no longer officially supported. Click here for the latest version, 1.2!

Which Package Format?

Package Management does not have to be a messy, mucky, difficult business. The first step is deciding which of the packaging formats you need for the assets that you have.

This article is a quick guide to what you need if you're having trouble deciding.

Assets

Package Format

Alpine Linux based packages.
For example: Distributions based on Alpine, such as popular Docker images.

Alpine

Swift / Objective-C packages.

Cocoapods

PHP Composer project/library (.phar) packages.

Composer (Packagist-compatible)

C, C++ packages.

Conan

Rust packages

Cargo (Crates.io-compatible)

Dart/Flutter packages

Dart

Debian Linux (.deb) based packages.
Example distributions: Debian, Ubuntu, Elementary, Raspian, Mint, etc.

Debian (deb)

Docker images

Docker

Go packages (modules)

Go

Kubernetes Helm charts

Helm

Lua modules (called rocks - it's a whole moon theme!)

LuaRocks

Maven-based or compatible packages, for Java, Scala, Clojure, Kotlin, or other similar languages.
Also supports Gradle, Sbt, Leiningen and other build systems

Maven

npm project/library packages

npm (npmjs-compatible)

NuGet (.nupkg, .snupkg, etc.) packages

NuGet

Python project/library (.whl, .zip, .tar.gz, etc.) packages

Python (PyPi-compatible)

R statistical computing and graphics packages

CRAN

Raw / Generic / (any type) packages, which is basically anything that you want to version and distribute.
For example: Windows binaries, Go packages, Datasets, etc.

Raw / Generic

Ruby project/library (.gem) packages

Ruby

RedHat Linux based packages,
Example distributions: RedHat, CentOS, SUSE, Oracle, Scientific, etc.

RedHat (rpm)

Vagrant boxes

Vagrant

📘

Need something else?

If you think a packaging format is missing from above that you'd really like us to support, please contact us and we'll add it to the public development roadmap.


Did this page help you?