How omardev29/py_template works
py_template is a uv-based Python application template and command runner. Its main workflow is to create a project from a preset, configure its environments and generated files, run or test it on supported backends, and package it with a selected build method. The README documents these capabilities, but most runner implementation was not sampled, so the graph shows documented workflows at subsystem level and omits uncertain internal call wiring.
Main entry points: cli.py Command runner · cmd_apply.py Project creation · cmd_env.py Environment setup · cmd_build.py Build command
Components 18
Runner entry
- pyt launcher
- Command runner
.pytemplate/runner/cli.py
Project setup
- Project config
.pytemplate/runner/config.py - Project presets
.pytemplate/runner/presets.py - Project creation
.pytemplate/runner/cmd_apply.py - Generated files
.pytemplate/runner/render.py - Preset templates
.pytemplate/presets
Backends and builds
- Environment setup
.pytemplate/runner/cmd_env.py - Backend environments
.pytemplate/runner/envs.py - Backend selection
.pytemplate/runner/cmd_mode.py - Run and test
.pytemplate/runner/cmd_dev.py - Build command
.pytemplate/runner/cmd_build.py - Packaging methods
.pytemplate/runner/methods
Editor integration
- Neovim integration
.pytemplate/runner/editors/nvim.py - VS Code integration
.pytemplate/runner/editors/vscode.py - Neovim plugin
.pytemplate/nvim/lua/pytemplate/init.lua
Other components
- Project user
- uv
Connections 19
- Project user → pyt launcher: invokes
- pyt launcher → Command runner: starts
- Command runner → Project creation: dispatches
- Command runner → Environment setup: dispatches
- Command runner → Backend selection: dispatches
- Command runner → Run and test: dispatches
- Command runner → Build command: dispatches
- Project creation → Project presets: selects
- Project creation → Preset templates: copies
- Project creation → Generated files: generates
- Environment setup → Backend environments: configures
- Environment setup → uv: uses
- Backend selection → Project config: updates
- Run and test → Backend environments: runs on
- Build command → Packaging methods: packages with
- Build command → Backend environments: uses
- Neovim integration → Project config: reads
- VS Code integration → Project config: reads
- Neovim plugin → pyt launcher: launches