Integration with wrknv¶
FlavorPack can be used alongside wrknv for development environment management. This integration is optionalβFlavorPack works standalone with its own workenv caching.
π€ 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.
Overview¶
wrknv manages development environments, and FlavorPack packages your application into a distributable executable.
graph LR
WE[wrknv<br/>Environment Setup] --> FP[FlavorPack<br/>Package Builder]
FP --> PKG[.psp Package<br/>Executable]
Basic Workflow¶
1. Initialize Environment with wrknv¶
wrknv init myproject
cd myproject
wrknv config set python_version 3.11
wrknv config set dependencies "requests,click,fastapi"
wrknv activate
2. Develop Your Application¶
# src/myapp/cli.py
import click
@click.command()
def main():
click.echo("Hello from packaged app!")
if __name__ == "__main__":
main()
3. Package with FlavorPack¶
Configuration Integration¶
Both tools read from pyproject.toml:
[project]
name = "myapp"
version = "1.0.0"
dependencies = ["click>=8.0.0", "requests>=2.28.0"]
[tool.wrknv]
python_version = "3.11"
auto_activate = true
[tool.flavor]
entry_point = "myapp.cli:main"
Environment Variables¶
[tool.wrknv.env]
DATABASE_URL = "postgresql://localhost/dev"
LOG_LEVEL = "debug"
[tool.flavor.execution.runtime.env]
pass = ["DATABASE_URL", "LOG_LEVEL"]
set = { "ENVIRONMENT" = "production" }
Deployment Workflow¶
# 1. Development (wrknv)
wrknv activate
python -m myapp.cli
# 2. Package (FlavorPack)
flavor pack --output myapp.psp
# 3. Deploy
scp myapp.psp prod:/opt/myapp/