Shipping Applications with tugger¶
The Tugger project aims to make it easy to ship applications. It does so
by implementing generic functionality related to application distribution
in a myriad (fleet?) of individual, domain-specific crates. See
Modular Crate Architecture for more. Tugger supports generating distributable
artifacts in common formats such as Windows .msi installers, Debian
.deb files, and Snapcraft .snap files.
Tugger’s Rust crates can be consumed as regular Rust library crates by any project and are explicitly designed for this use case. Tugger also defines a Starlark dialect (Starlark is a Python-like configuration language), enabling applications to define packaging functionality in configuration files, which Tugger can execute. The Starlark dialect is effectively a scriptable interface to Tugger’s Rust internals.
Tugger is part of the PyOxidizer Project and is developed inside the PyOxidizer repository at https://github.com/indygreg/PyOxidizer. However, Tugger is designed to be a standalone project and doesn’t require PyOxidizer.
- Overview
- Tugger Starlark Dialect
- Global Symbols
- Functions for Interacting with the Filesystem
- Functions for Interacting with the Terminal
AppleUniversalBinaryCodeSignerCodeSigningRequestFileContentFileManifestMacOsApplicationBundleBuilderPythonWheelBuilderResolvedTargetSnapAppSnapPartSnapSnapcraftBuilderWiXBundleBuilderWiXInstallerWiXMSIBuilder
- Working with Files
- Code Signing
- Using the WiX Toolset to Produce Windows Installers
- Project History