Upgrading
downctl uses standard packaging, so upgrading is a normal install/upgrade —
no need to uninstall first.
pip
python -m pip install --upgrade downctl # latest
python -m pip install 'downctl==0.1.1' # a specific version
python -m pip install --upgrade 'downctl[sftp]' # include optional extras
On PEP 668 systems (Ubuntu 24.04+/Debian 12+) use a virtualenv, pipx, or
--break-system-packages.
pipx
pipx upgrade downctl
pipx upgrade --include-injected downctl
pipx install --force 'downctl[sftp]' # add extras
pip / editable (from source)
git pull
python -m pip install --upgrade . # regular
python -m pip install --upgrade -e '.[dev,sftp]' # editable/dev
Docker
git pull
docker build -t downctl .
Verify
downctl version # prints the version
pip show downctl | grep Version # or via pip
downctl doctor # deps / plugins / proxy
What upgrading does NOT touch
- Your downloaded files
~/.config/downctl/config.toml(and any customDOWNCTL_CONFIG)- Pending piece bitmaps (
.downctl-pieces),.downctl.failed, lock dirs
Compatibility notes
- Config keys are backward compatible; unrecognized keys are ignored
(
downctl config showprints the effective values). - Since 0.1.1 the version is sourced from the package's
__version__; usedownctl versionto confirm. - Plugins declare a plugin-API version (
downctl.API_VERSION, currently1); if a future release bumps it, incompatible plugins are rejected with a clear message rather than failing later.
Uninstall
python -m pip uninstall downctl
# pipx uninstall downctl
Your config and downloads are left in place (remove them manually if desired).