Practical Walkthrough¶
A 30-to-60-minute guided build of a realistic clickwork CLI. You'll end up with a project that has a local command, an installed plugin that contributes a command, and a publishable wheel.
What you'll build¶
A CLI named projectctl that helps you operate a toy project:
projectctl tail-logs— a local command that tails a log fileprojectctl deploy— a command contributed by an installed pluginprojectctl-deploy
Pages¶
- Your first command — project layout,
local command,
create_cli()+commands_dir, running it. - Adding a plugin — a separate plugin package that contributes commands via entry points, installed alongside the main CLI.
- Packaging —
pyproject.tomlmetadata,uv build, installing the wheel in a fresh venv, sharing with a teammate.
Prerequisites¶
- Completed the Quickstart OR comfortable with Python packaging basics.
uvinstalled (curl -LsSf https://astral.sh/uv/install.sh | sh).
Ready? Start with Your first command.