uvhow
Detect how uv was installed and get upgrade instructions.
Works on Windows, macOS, and Linux with support for all major installation methods.
Usage
Run with uvx (recommended):
uvx uvhow
Or install and run:
uv add uvhow
uvhow
Example Output
🔍 uv installation detected
✅ Found uv: uv 0.8.0 (0b2357294 2025-07-17)
📍 Location: /Users/user/.local/bin/uv
🎯 Installation method: Standalone installer
💡 To upgrade: uv self update
Supported Installation Methods
Unix/Linux/macOS
- Standalone installer (
~/.local/bin/uv) ->uv self update - Cargo (
~/.cargo/bin/uv) ->cargo install --git https://github.com/astral-sh/uv uv --force - Homebrew (
/opt/homebrew/bin/uv) ->brew upgrade uv - pipx (
~/.local/share/pipx/venvs/uv/bin/uv) ->pipx upgrade uv - pip (virtual environment) ->
pip install --upgrade uv - pip (system) ->
sudo pip install --upgrade uv - pip (user) ->
pip install --upgrade --user uv
Windows
- Standalone installer (
%USERPROFILE%\AppData\Local\Programs\uv\uv.exe) ->uv self update - Cargo (
%USERPROFILE%\.cargo\bin\uv.exe) ->cargo install --git https://github.com/astral-sh/uv uv --force - Scoop (
%USERPROFILE%\scoop\apps\uv\current\uv.exe) ->scoop update uv - Chocolatey (
C:\ProgramData\chocolatey\bin\uv.exe) ->choco upgrade uv - pipx (
%USERPROFILE%\pipx\venvs\uv\Scripts\uv.exe) ->pipx upgrade uv - pip (virtual environment) ->
pip install --upgrade uv - pip (system) ->
pip install --upgrade uv - pip (user) ->
pip install --upgrade --user uv - pip (Windows Store Python) ->
pip install --upgrade uv
Programmatic Usage
from uvhow import detect_uv_installation
installation = detect_uv_installation()
if installation:
print(f"Method: {installation.method}")
print(f"Upgrade: {installation.upgrade_command}")
Development
Setup
Install pre-commit hooks for code quality:
pip install pre-commit
pre-commit install
This will automatically:
- Remove trailing whitespace
- Fix end-of-file issues
- Format Python code with Black
- Sort imports with isort
- Validate YAML/TOML syntax
- Check for merge conflicts
Releasing New Versions
Use the included version bump script to release new versions:
# Preview what will happen
python bump_version.py patch --dry-run
# Bump patch version (0.1.2 -> 0.1.3) and deploy
python bump_version.py patch
# Bump minor version (0.1.2 -> 0.2.0) and deploy
python bump_version.py minor
# Bump major version (0.1.2 -> 1.0.0) and deploy
python bump_version.py major
The script will:
- Update the version in
pyproject.toml - Commit the version change
- Create a git tag (e.g.,
v0.1.3) - Push the tag to trigger GitHub Actions deployment to PyPI
Requirements:
- Clean git working directory (no uncommitted changes)
- Push access to the repository
Metadata
Release files for uvhow 0.4.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| uvhow-0.4.3.tar.gz | 4.2 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| uvhow-0.4.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.5 kB
Release files / uvhow-0.4.3.tar.gz
| Download URL | uvhow-0.4.3.tar.gz |
|---|---|
| Size | 4.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c18e8ee6a66fb7bfc44db7e068a5267e94281601b946847b13424eac0693967a
|
|
BLAKE2b-256 checksum How to use checksums |
ed298918407173d80f19785ae0a8c5a7d62f17812307f3d5600b6bac391593ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2025.
Transparency logRelease files / uvhow-0.4.3-py3-none-any.whl
| Download URL | uvhow-0.4.3-py3-none-any.whl |
|---|---|
| Size | 5.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9d4d39f73dd7e7668e8f65dde69f4b7b7c1b8d0960b70c3f2b9b057fd3401f81
|
|
BLAKE2b-256 checksum How to use checksums |
c447d07a9700e06eac1f4bb5da50e394989a4080cf70b5cd6d387f75beced39f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2025.
Transparency logSecurity for uvhow 0.4.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for uvhow-0.4.3.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.