Install section: the README gets an "Install" section covering uv tool install from the Gitea repo or from a local checkout, then upgrade and uninstall.
Run section: it now says to use cv4pve-tui when installed, and uv run cv4pve-tui from a checkout.
Packaging: no changes were needed. The pyproject.toml metadata (entry point, readme, requires-python) already works for uv tool install.
Verification
All of this used throwaway tool dirs (UV_TOOL_DIR and UV_TOOL_BIN_DIR under /tmp), so the user's own tools were not touched.
uv tool install . gave a cv4pve-tui binary.
That binary, started from /tmp in a pseudo-terminal, drew the guest frame and ran until it was stopped.
uv tool install git+https://git.duckboot.net/Duckboot/cv4pve-cli-tui@docs/install-as-tool-17 installed the binary straight from the repo.
## What
- **Install section:** the README gets an "Install" section covering `uv tool install` from the Gitea repo or from a local checkout, then upgrade and uninstall.
- **Run section:** it now says to use `cv4pve-tui` when installed, and `uv run cv4pve-tui` from a checkout.
- **Packaging:** no changes were needed. The `pyproject.toml` metadata (entry point, readme, requires-python) already works for `uv tool install`.
## Verification
All of this used throwaway tool dirs (`UV_TOOL_DIR` and `UV_TOOL_BIN_DIR` under `/tmp`), so the user's own tools were not touched.
- `uv tool install .` gave a `cv4pve-tui` binary.
- That binary, started from `/tmp` in a pseudo-terminal, drew the guest frame and ran until it was stopped.
- `uv tool install git+https://git.duckboot.net/Duckboot/cv4pve-cli-tui@docs/install-as-tool-17` installed the binary straight from the repo.
This PR is stacked on #27.
Closes #17
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
At startup the app runs `cv4pve-cli --version`. If it differs from
cli.TESTED_VERSION (2.4.0), a warning says which version was found
and which one was tested. The app parses output formats that are not
a stable API: the config list text, prune-backups as a JSON string,
the CT ip-addresses JSON string and the exit codes with --wait. A
newer cv4pve-cli could break them in confusing ways.
If cv4pve-cli cannot be run at all, an error says so once, instead of
every later call failing without explanation. The README notes the
tested version.
Closes#14
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The README gets an "Install" section: install with uv tool from the
Gitea repo or from a local checkout, then upgrade and uninstall. The
"Run" section says to use `cv4pve-tui` when installed and
`uv run cv4pve-tui` from a checkout.
Verified by installing into throwaway tool dirs (UV_TOOL_DIR and
UV_TOOL_BIN_DIR under /tmp): `uv tool install .` gave a cv4pve-tui
binary. Started from /tmp in a pseudo-terminal, it drew the guest
frame and ran until it was stopped. The pyproject metadata (entry
point, readme, requires-python) was already enough.
Closes#17
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What
uv tool installfrom the Gitea repo or from a local checkout, then upgrade and uninstall.cv4pve-tuiwhen installed, anduv run cv4pve-tuifrom a checkout.pyproject.tomlmetadata (entry point, readme, requires-python) already works foruv tool install.Verification
All of this used throwaway tool dirs (
UV_TOOL_DIRandUV_TOOL_BIN_DIRunder/tmp), so the user's own tools were not touched.uv tool install .gave acv4pve-tuibinary./tmpin a pseudo-terminal, drew the guest frame and ran until it was stopped.uv tool install git+https://git.duckboot.net/Duckboot/cv4pve-cli-tui@docs/install-as-tool-17installed the binary straight from the repo.This PR is stacked on #27.
Closes #17
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com