Skip to content

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

flavor pack --manifest pyproject.toml --output myapp.psp

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/

Troubleshooting

Dependency Conflicts

# Let wrknv resolve conflicts, then rebuild
wrknv install --resolve-conflicts
flavor pack

See Also