Snapcraft¶
Snapcraft is the tool for packaging software into the snap container format.
It builds and bundles Linux software of all kinds and sources, and is operated through a command-line interface.
Snapcraft is compatible with many languages and frameworks, including Python, Rust, Go, and GNOME. It provides debugging and testing capabilities to ready a snap for publication to the Snap Store or a private store.
Snapcraft is for developers, package maintainers, fleet administrators, and hobbyists who publish software for desktop and IoT devices.
In this documentation¶
Get started¶
Package your first snap and gain familiarity with crafting basics.
Language and framework support¶
Snapcraft packages software built in one or more programming languages and frameworks. Use these guides to package your app for production.
Snap definition¶
Define the software sources, dependencies, assets, and runtime of your snap.
Snap builds¶
Build snaps with a local provider or remotely with Launchpad.
Snap stores¶
Publish snaps to the Canonical Snap Store or a vendored store. Release updates to snaps and monitor their status and usage.
Security and correctness¶
Provide access to only required system resources, and use the linting and debugging features to refine your snap.
Snap support¶
Plan your deployment with Snapcraft and keep your snap secure and up-to-date.
How this documentation is organized¶
The Snapcraft documentation embodies the Diátaxis framework.
The tutorial is a lesson that steps through the main process of packaging a snap.
How-to guides contain directions for crafting and debugging snaps.
References describe the structure and function of the individual components in Snapcraft.
Explanations aid in understanding the concepts and relationships of Snapcraft as a system.
Project and community¶
Snapcraft is a member of the Canonical family. It’s an open source project that warmly welcomes community projects, contributions, suggestions, fixes and constructive feedback.