Installation¶
Alpha Release - Source Installation Only
FlavorPack is in early alpha. PyPI packages and pre-built binaries are not yet available. Check current version with flavor --version. Install from source only.
FlavorPack can be installed from source. Future releases will support additional installation methods.
System Requirements¶
Minimum Requirements¶
| Component | Version | Required For |
|---|---|---|
| Python | 3.11+ | Running FlavorPack |
| Go | 1.23+ | Building Go helpers |
| Rust | 1.85+ | Building Rust helpers (edition 2024) |
| Git | 2.25+ | Cloning repository |
| Make | 3.81+ | Build automation |
UV Version Requirement
FlavorPack requires UV 0.8.13 or later for full functionality. Earlier versions may have compatibility issues with modern package management features.
Supported Platforms¶
Installation Methods¶
Method 1: From Source (Recommended)¶
Best for developers who want the latest features and ability to build custom helpers.
# Install UV package manager
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone the repository
git clone https://github.com/provide-io/flavorpack.git
cd flavorpack
# Set up environment and install dependencies
uv sync
# Build native helpers (Go and Rust binaries)
make build-helpers
# Verify installation
flavor --version
Windows Not Currently Supported
Windows support is currently disabled due to UTF-8 encoding issues in the native helpers. Windows support is planned for a future release.
For now, Windows users can use WSL2 (Windows Subsystem for Linux) and follow the Linux installation instructions.
Method 2: Using pip¶
Planned for Future Release
PyPI installation is planned for a future release. Currently unavailable.
When available, installation will be:
For now, please use source installation (Method 1 above).
Method 3: Development Container¶
For VS Code users with the Remote-Containers extension.
- Open the repository in VS Code
- When prompted, click "Reopen in Container"
- The environment will be automatically configured
The devcontainer includes: - Python 3.11+ - Go 1.23+ - Rust 1.85+ - All required build tools - Pre-configured environment
Building Native Helpers¶
FlavorPack requires native launchers and builders written in Go and Rust. These must be built for your platform.
Automatic Build¶
# Build all helpers for current platform
make build-helpers
# Or use the build script directly
./build.sh
# Built binaries will be in dist/bin/ with platform suffixes
ls dist/bin/
Manual Build¶
cd src/flavor-go
# Build launcher
go build -o ../../dist/bin/flavor-go-launcher-$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m) \
-ldflags="-s -w" \
./cmd/flavor-go-launcher
# Build builder
go build -o ../../dist/bin/flavor-go-builder-$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m) \
-ldflags="-s -w" \
./cmd/flavor-go-builder
cd src/flavor-rust
# Build launcher
cargo build --release --bin flavor-rs-launcher
cp target/release/flavor-rs-launcher \
../../dist/bin/flavor-rs-launcher-$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m)
# Build builder
cargo build --release --bin flavor-rs-builder
cp target/release/flavor-rs-builder \
../../dist/bin/flavor-rs-builder-$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m)
Cross-Platform Builds¶
For building helpers for different platforms:
# Linux static binaries (using Docker)
make build-linux-static
# macOS universal binaries
make build-macos-universal
# Windows binaries
make build-windows
Post-Installation Setup¶
1. Verify Installation¶
# Check FlavorPack version
flavor --version
# List available helpers
flavor helpers list
# Run tests
make test
2. Configure Signing Keys (Optional)¶
For production use, generate signing keys:
# Generate new key pair
flavor keygen --out-dir keys/
# Keys are used via CLI options, not environment variables
# See the Signing Guide for details
3. Environment Variables¶
FlavorPack uses environment variables for configuration, caching, and logging. For complete documentation, see the Environment Variables Guide.
Common variables:
| Variable | Description | Default |
|---|---|---|
FLAVOR_CACHE |
Cache directory for work environments | ~/.cache/flavor/workenv |
FOUNDATION_LOG_LEVEL |
Logging level for Python components | info |
FLAVOR_LOG_LEVEL |
Logging level for Go/Rust components | warn |
FLAVOR_VALIDATION |
Validation level (strict, standard, relaxed, minimal, none) | standard |
See the complete environment variable reference for all available variables and detailed examples.
Signing Keys
Signing keys are passed via CLI options (--private-key and --public-key), not environment variables. See the Signing Guide for details.
Platform-Specific Notes¶
macOS¶
- Code Signing: Packages may need to be signed or have quarantine attributes removed
- Gatekeeper: First run may require right-click → Open
- Universal Binaries: Support for both Intel and Apple Silicon
Linux¶
- Static Binaries: We provide musl-based static binaries for maximum compatibility
- AppImage: Future support planned for AppImage format
- Permissions: Packages need execute permission (
chmod +x)
Windows¶
Windows Not Currently Supported
Native Windows support is currently disabled. Please use WSL2 (Windows Subsystem for Linux) and follow the Linux instructions above.
When using WSL2:
- Install WSL2 with wsl --install
- Use the Linux installation method
- All FlavorPack features will work in WSL2
Troubleshooting Installation¶
Common Issues¶
UV not found after installation
Add UV to your PATH:
Go/Rust version too old
Update using official installers: - Go: https://go.dev/dl/ - Rust: https://rustup.rs/
Permission denied when running flavor
Ensure the virtual environment is activated:
Helpers build fails
Check that you have all build dependencies:
Getting Help¶
If you encounter issues:
- Check the Troubleshooting Guide
- Search existing issues
- Open a new issue
Next Steps¶
After installation:
- 📖 Follow the Quick Start guide
- 🎯 Create your First Package
- 🔧 Explore Configuration Options
- 📚 Read about Core Concepts