FlavorPack Roadmap¶
This roadmap shows the current implementation status and planned features for FlavorPack. Use this to understand what works today versus what's coming in future releases.
๐ค AI-Generated Content
This documentation was generated with AI assistance and is still being audited. Some, or potentially a lot, of this information may be inaccurate. Learn more.
Version Status
FlavorPack is currently in alpha stage. APIs, file formats, and commands may change without notice.
Legend¶
- โ Implemented - Works today, documented and tested
- ๐ง In Progress - Partially implemented or under active development
- ๐ Planned - Designed but not yet implemented
- ๐ก Proposed - Under consideration for future releases
What Works Today (Alpha)¶
Core Functionality โ ¶
Package Creation:
- โ Build PSPF/2025 packages from Python applications
- โ Embed native Go/Rust launchers
- โ Multiple builder/launcher combinations (Go + Rust)
- โ Cross-platform package building
Package Execution:
- โ Self-extracting executables
- โ Work environment caching with checksum validation
- โ Progressive extraction (extract once, cache forever)
- โ Ed25519 signature verification
CLI Commands:
- โ
flavor pack- Create packages - โ
flavor verify- Verify integrity and signatures - โ
flavor inspect- Quick package inspection - โ
flavor extract- Extract single slot - โ
flavor extract-all- Extract all slots - โ
flavor keygen- Generate Ed25519 key pairs - โ
flavor workenv- Cache management (list, info, clean, remove, inspect) - โ
flavor helpers- Helper binary management (list, info, build, clean, test) - โ
flavor clean- Clean caches and artifacts
Manifest Configuration โ ¶
Currently Supported Fields:
[project]
name = "myapp" # โ
Required
version = "1.0.0" # โ
Required
dependencies = [...] # โ
Parsed and included
[tool.flavor]
entry_point = "myapp:main" # โ
Required (module:function format)
package_name = "custom-name" # โ
Optional override
[tool.flavor.metadata]
package_name = "override" # โ
Optional
[tool.flavor.build]
dependencies = [...] # โ
Build-time dependencies
[tool.flavor.execution.runtime.env]
unset = ["VAR1", "VAR2"] # โ
Remove variables
pass = ["HOME", "PATH"] # โ
Pass through from host
set = { KEY = "value" } # โ
Set variables
map = { OLD = "NEW" } # โ
Rename variables
Platform Support โ ¶
Python Packaging โ ¶
- โ
Standard
pyproject.tomlmanifest parsing - โ Dependency resolution via UV
- โ Entry point detection and configuration
- โ
CLI script extraction from
[project.scripts]
Security & Integrity โ ¶
- โ Ed25519 signature generation and verification
- โ SHA-256 checksums for all slots
- โ Package integrity validation
- โ
Key generation via
flavor keygen - โ
Signing via CLI options (
--private-key,--public-key)
Format Specification โ ¶
- โ PSPF/2025 format implemented
- โ 64-byte SlotDescriptor binary format
- โ 8KB index block with metadata
- โ Operation chains (packed uint64 format)
- โ Magic markers for format identification
- โ Cross-language format compatibility (Python/Go/Rust)
Planned Features¶
The following features are documented in guides but are not yet implemented. They represent the planned evolution of FlavorPack.
Manifest Configuration Features ๐¶
Slot Configuration¶
[[tool.flavor.slots]]
id = "config"
source = "config/"
purpose = "configuration"
lifecycle = "persistent"
extract_to = "{workenv}/config"
permissions = "0644"
Status: ๐ Planned Use Case: Enable custom slot purposes, lifecycles, platform-specific slots, and lazy-loaded content
Python Version Selection¶
[tool.flavor.python]
version = "3.11" # Exact version to use
min_version = "3.11" # Minimum acceptable
max_version = "3.13" # Maximum acceptable
Status: ๐ Planned Priority: High Target Version: v0.3.0 Target Date: Q1 2026 Complexity: Medium
Planned Capabilities:
- Detect Python version from pyproject.toml
- Support requires-python specification
- Automatic Python installation if missing
- Multiple Python version support in single package
Current Workaround: Package uses the Python version from your build environment
Build Environment Configuration¶
[tool.flavor.build]
# Custom venv location
venv_path = ".flavor-venv"
# Use system site packages
system_site_packages = false
# Environment variables for build
env = {
"NUMPY_SETUP_DEBUG": "1",
"PIP_NO_CACHE_DIR": "1"
}
# Pre-install commands
pre_install_commands = [
"pip install --upgrade pip setuptools wheel",
"pip install numpy==1.24.0"
]
# Pre-build validation
pre_build_commands = [
"pytest tests/ -v",
"mypy src/ --strict"
]
Status: ๐ Planned Priority: High Complexity: Medium
Dependency Resolution Options¶
[tool.flavor.build]
# Use pip instead of uv
use_pip = true
# Custom index URL
index_url = "https://pypi.company.com/simple"
# Extra index URLs
extra_index_urls = [
"https://pypi.org/simple"
]
# Trusted hosts
trusted_hosts = [
"pypi.company.com"
]
Status: ๐ Planned Priority: Medium Complexity: Low-Medium
Runtime Optimization¶
Code Optimization Settings¶
[tool.flavor.runtime]
# Python optimization level
optimization_level = 2 # -OO flag
# Compile .py to .pyc
compile_bytecode = true
# Strip docstrings
strip_docstrings = true
Status: ๐ Planned Priority: Low Complexity: Low
Dependency Optimization¶
[tool.flavor.build]
# Exclude test/docs from dependencies
exclude_from_deps = [
"*/tests/*",
"*/test/*",
"*/docs/*"
]
# Only runtime dependencies
no_dev_deps = true
# Requirements lockfile
requirements_file = "requirements.lock"
Status: ๐ Planned Priority: Medium Complexity: Medium
Advanced Slot Configuration¶
Lifecycle-Based Loading¶
[[tool.flavor.slots]]
id = "heavy-models"
source = "models/"
lifecycle = "lazy" # Load only when accessed
[[tool.flavor.slots]]
id = "tests"
source = "tests/"
lifecycle = "volatile" # Don't persist between runs
[[tool.flavor.slots]]
id = "config"
source = "config/"
lifecycle = "persistent" # Keep across runs
Status: ๐ Planned Priority: Medium Complexity: High
Platform-Specific Slots¶
[[tool.flavor.slots]]
id = "native-libs"
source = "libs/linux/"
target = "lib/"
platform = "linux"
[[tool.flavor.slots]]
id = "native-libs-mac"
source = "libs/darwin/"
target = "lib/"
platform = "darwin"
Status: ๐ Planned Priority: Medium Complexity: Medium
Platform-Specific Builds¶
Platform Build Configuration¶
[tool.flavor.build.platform.linux_amd64]
env = {
"CFLAGS": "-O3 -march=x86-64",
"LDFLAGS": "-Wl,-rpath,$ORIGIN"
}
[tool.flavor.build.platform.darwin_arm64]
env = {
"ARCHFLAGS": "-arch arm64",
"MACOSX_DEPLOYMENT_TARGET": "11.0"
}
Status: ๐ Planned Priority: Low Complexity: Medium
Environment and Runtime Features¶
Persistent Service Mode¶
Status: ๐ Planned Priority: Medium Complexity: High
Advanced Environment Control¶
[tool.flavor.execution.runtime.env]
# Clear all host environment
unset = ["*"]
# Pass through specific variables
pass = ["HOME", "USER", "TERM"]
# Set application variables
set = {
PYTHONPATH = "$FLAVOR_WORKENV/lib",
DEBUG = "0"
}
# Map/rename variables
[tool.flavor.execution.runtime.env.map]
OLD_VAR = "NEW_VAR"
Status: ๐ข Partially Implemented Priority: High Complexity: Medium Note: Basic environment control exists, advanced features planned
Format Enhancements¶
Binary Format Improvements¶
Compression Options¶
[[tool.flavor.slots]]
id = "data"
source = "data/"
compression = "zstd" # Specific compression
compression_level = 19 # Maximum compression
Status: ๐ก Basic Implementation Priority: Low Complexity: Low Note: Compression exists but not configurable
Encryption Support¶
[[tool.flavor.slots]]
id = "secrets"
source = "secrets/"
encryption = "aes256"
key_source = "env:ENCRYPTION_KEY"
Status: ๐ด Not Started Priority: Medium Complexity: High Note: See FEP-0001 for encryption operation codes
Multi-Platform Packages¶
Universal Binaries¶
Create packages that work across multiple platforms in a single file:
[tool.flavor]
platforms = ["linux_amd64", "darwin_arm64", "windows_amd64"]
[[tool.flavor.launchers]]
platform = "linux_amd64"
binary = "dist/bin/launcher-linux"
[[tool.flavor.launchers]]
platform = "darwin_arm64"
binary = "dist/bin/launcher-darwin"
Status: ๐ด Not Started Priority: Low Complexity: Very High Blockers: Format specification changes required
CLI and Tooling Enhancements¶
Package Management Commands¶
helpers build --platform¶
Build helpers for specific platforms from CLI:
flavor helpers build --platform linux_amd64
flavor helpers build --platform darwin_arm64 --lang rust
Status: ๐ด Not Started Priority: Low Complexity: Medium Note: Currently documented but not implemented
helpers test¶
Comprehensive helper testing:
flavor helpers test
flavor helpers test --helper flavor-rs-launcher-darwin_arm64
flavor helpers test --verbose
Status: ๐ก Basic Implementation Priority: Low Complexity: Low Note: Command exists but may not be fully functional
Advanced Inspection¶
Dependency Visualization¶
Status: ๐ด Not Started Priority: Low Complexity: Medium
Slot Analysis¶
Status: ๐ด Not Started Priority: Low Complexity: Low
Integration Features¶
Build System Integration¶
Setup.py Support¶
Support for legacy setup.py in addition to pyproject.toml:
Status: ๐ด Not Started Priority: Very Low Complexity: Medium Note: Modern projects should use pyproject.toml
Poetry Integration¶
Native support for Poetry configurations:
Status: ๐ด Not Started Priority: Low Complexity: Medium
CI/CD Templates¶
Pre-built CI/CD configurations:
- GitHub Actions workflow templates
- GitLab CI/CD templates
- Jenkins pipeline examples
Status: ๐ด Not Started Priority: Medium Complexity: Low Note: Documentation task, not implementation
Testing and Quality¶
Test Inclusion¶
[tool.flavor.build]
# Include tests in package
include_tests = true
[[tool.flavor.slots]]
id = "tests"
source = "tests/"
purpose = "tests"
lifecycle = "volatile"
Status: ๐ด Not Started Priority: Low Complexity: Low
Package Validation¶
# Validate package before distribution
flavor pack --validate-before-sign
# Run smoke tests on packaged app
flavor pack --test-command "pytest tests/smoke/"
Status: ๐ด Not Started Priority: Medium Complexity: Medium
Documentation Improvements¶
API Documentation Generation¶
Auto-generate API docs from code:
- Complete
docs/api/packaging.md - Complete
docs/api/builder.md - Complete
docs/api/reader.md - Complete
docs/api/crypto.md
Status: ๐ก In Progress Priority: High Complexity: Low Note: Stub pages exist, need full content
Interactive Examples¶
Live, runnable examples in documentation:
Status: ๐ด Not Started Priority: Low Complexity: Medium
Advanced Features¶
Supply Chain Security¶
See FEP-0004: Supply Chain JIT:
- Reproducible builds with attestation
- SBOM (Software Bill of Materials) generation
- Provenance tracking
- Signature chains
Status: ๐ด Not Started Priority: Medium Complexity: Very High
Runtime JIT Loading¶
See FEP-0005: Runtime JIT Loading:
- Lazy loading of dependencies
- On-demand extraction
- Streaming execution
Status: ๐ด Not Started Priority: Low Complexity: Very High
Staged Payload Architecture¶
See FEP-0006: Staged Payload Architecture:
- Multi-stage package execution
- Progressive enhancement
- Delta updates
Status: ๐ด Not Started Priority: Low Complexity: Very High
Community and Ecosystem¶
Package Registry¶
Public registry for sharing PSPF packages:
Status: ๐ด Not Started Priority: Low Complexity: Very High Blockers: Requires infrastructure
Plugin System¶
Extend FlavorPack with plugins:
Status: ๐ด Not Started Priority: Low Complexity: High
Migration to v1.0¶
Features required before declaring v1.0 stable:
Critical for v1.0¶
- โ Core PSPF/2025 format implementation
- โ Ed25519 signature verification
- โ Cross-language (Python/Go/Rust) compatibility
- โ Basic Python packaging
- ๐ Complete API documentation
- ๐ Comprehensive test coverage
- ๐ Production-ready error handling
- ๐ Performance optimization
- ๐ Windows support (currently beta)
Nice to Have for v1.0¶
- Environment variable consolidation
- Advanced build configuration
- Dependency optimization
- Platform-specific builds
- CI/CD integration templates
Feature Status Summary¶
| Feature | Status | Priority | Target Version |
|---|---|---|---|
| Python Version Detection | ๐ Planned | High | v0.3.0 (Q1 2026) |
| Build Environment Config | ๐ Planned | High | v0.3.0 |
| Dependency Optimization | ๐ Planned | High | v0.3.0 |
| Runtime Optimization | ๐ Planned | Medium | v0.4.0 |
| Advanced Slot Config | ๐ Planned | Medium | v0.4.0 |
| Platform-Specific Builds | ๐ Planned | Low | v0.4.0 |
| Persistent Service Mode | ๐ Planned | Medium | v0.4.0 |
| Compression Options | ๐ก In Progress | Low | v0.3.0 |
| Encryption Support | ๐ด Not Started | Medium | v0.5.0 |
| Multi-Platform Packages | ๐ด Not Started | Low | v0.6.0 |
| Windows Full Support | ๐ง In Progress | High | v0.3.0 |
| Complete API Docs | ๐ก In Progress | High | v0.3.0 |
| Supply Chain Security | ๐ด Not Started | Medium | v1.0.0 |
| Plugin System | ๐ด Not Started | Low | v0.5.0 |
| Package Registry | ๐ด Not Started | Low | Future |
Version History¶
v0.2.0 (Current - Alpha)¶
- โ Core PSPF/2025 format implementation
- โ Basic Python packaging with UV
- โ Cross-platform helpers (macOS, Linux)
- โ CLI tooling (pack, verify, inspect, extract, keygen, workenv, helpers)
- โ Ed25519 signature support
- โ Work environment caching
- โ Comprehensive documentation
v0.1.0 (Initial Release)¶
- Proof of concept
- Basic PSPF format
- Single platform support
Planned Releases¶
v0.3.0 (Q1 2026) - Python Management & Windows - Python version detection and selection - Build environment configuration - Dependency optimization - Complete Windows support - Complete API documentation
v0.4.0 (Q2 2026) - Advanced Features - Runtime optimization - Advanced slot configuration - Platform-specific builds - Persistent service mode - Plugin system foundation
v0.5.0 (Q3 2026) - Security & Integration - Encryption support - Enhanced CI/CD templates - Plugin marketplace - Poetry/PDM integration
v1.0.0 (Q4 2026) - Stable Release - Production-ready stability - Complete test coverage - Supply chain security - Performance optimizations - Long-term support commitment
Contributing to Roadmap¶
Want to help implement roadmap features?
- Pick a Feature: Choose from "Planned" features above
- Discuss Approach: Open GitHub Discussion
- Create FEP: Submit FlavorPack Enhancement Proposal if needed
- Submit PR: Implement with tests and docs
See our Contributing Guide for detailed instructions.
Feature Request Process¶
Have an idea for FlavorPack? Here's how to suggest features:
- Check Existing Roadmap: Review this document first
- Search Issues: Check if already proposed on GitHub Issues
- Submit FEP: Create FlavorPack Enhancement Proposal for major features
- Community Discussion: Discuss in GitHub Discussions
See Also¶
- Current Documentation - What's available now
- PSPF Specification - Format details
- Future Enhancement Proposals - Detailed FEPs
- Changelog - What's been implemented
Last Updated: October 30, 2025 Next Review: December 2025