Name | uvhow JSON |
Version |
0.4.3
JSON |
| download |
home_page | None |
Summary | Detect how uv was installed and get upgrade instructions |
upload_time | 2025-07-22 18:38:32 |
maintainer | None |
docs_url | None |
author | Tim Hopper |
requires_python | >=3.8 |
license | None |
keywords |
uv
package-manager
cli
upgrade
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# uvhow
Detect how [uv](https://github.com/astral-sh/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):
```bash
uvx uvhow
```
Or install and run:
```bash
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
```python
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:
```bash
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:
```bash
# 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:
1. Update the version in `pyproject.toml`
2. Commit the version change
3. Create a git tag (e.g., `v0.1.3`)
4. Push the tag to trigger GitHub Actions deployment to PyPI
**Requirements:**
- Clean git working directory (no uncommitted changes)
- Push access to the repository
Raw data
{
"_id": null,
"home_page": null,
"name": "uvhow",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "uv, package-manager, cli, upgrade",
"author": "Tim Hopper",
"author_email": "Tim Hopper <tim@tdhopper.com>",
"download_url": "https://files.pythonhosted.org/packages/ed/29/8918407173d80f19785ae0a8c5a7d62f17812307f3d5600b6bac391593ba/uvhow-0.4.3.tar.gz",
"platform": null,
"description": "# uvhow\n\nDetect how [uv](https://github.com/astral-sh/uv) was installed and get upgrade instructions.\n\nWorks on **Windows**, **macOS**, and **Linux** with support for all major installation methods.\n\n## Usage\n\nRun with uvx (recommended):\n```bash\nuvx uvhow\n```\n\nOr install and run:\n```bash\nuv add uvhow\nuvhow\n```\n\n## Example Output\n\n```\n\ud83d\udd0d uv installation detected\n\n\u2705 Found uv: uv 0.8.0 (0b2357294 2025-07-17)\n\ud83d\udccd Location: /Users/user/.local/bin/uv\n\n\ud83c\udfaf Installation method: Standalone installer\n\ud83d\udca1 To upgrade: uv self update\n```\n\n## Supported Installation Methods\n\n### Unix/Linux/macOS\n- **Standalone installer** (`~/.local/bin/uv`) -> `uv self update`\n- **Cargo** (`~/.cargo/bin/uv`) -> `cargo install --git https://github.com/astral-sh/uv uv --force`\n- **Homebrew** (`/opt/homebrew/bin/uv`) -> `brew upgrade uv`\n- **pipx** (`~/.local/share/pipx/venvs/uv/bin/uv`) -> `pipx upgrade uv`\n- **pip (virtual environment)** -> `pip install --upgrade uv`\n- **pip (system)** -> `sudo pip install --upgrade uv`\n- **pip (user)** -> `pip install --upgrade --user uv`\n\n### Windows\n- **Standalone installer** (`%USERPROFILE%\\AppData\\Local\\Programs\\uv\\uv.exe`) -> `uv self update`\n- **Cargo** (`%USERPROFILE%\\.cargo\\bin\\uv.exe`) -> `cargo install --git https://github.com/astral-sh/uv uv --force`\n- **Scoop** (`%USERPROFILE%\\scoop\\apps\\uv\\current\\uv.exe`) -> `scoop update uv`\n- **Chocolatey** (`C:\\ProgramData\\chocolatey\\bin\\uv.exe`) -> `choco upgrade uv`\n- **pipx** (`%USERPROFILE%\\pipx\\venvs\\uv\\Scripts\\uv.exe`) -> `pipx upgrade uv`\n- **pip (virtual environment)** -> `pip install --upgrade uv`\n- **pip (system)** -> `pip install --upgrade uv`\n- **pip (user)** -> `pip install --upgrade --user uv`\n- **pip (Windows Store Python)** -> `pip install --upgrade uv`\n\n## Programmatic Usage\n\n```python\nfrom uvhow import detect_uv_installation\n\ninstallation = detect_uv_installation()\nif installation:\n print(f\"Method: {installation.method}\")\n print(f\"Upgrade: {installation.upgrade_command}\")\n```\n\n## Development\n\n### Setup\n\nInstall pre-commit hooks for code quality:\n\n```bash\npip install pre-commit\npre-commit install\n```\n\nThis will automatically:\n- Remove trailing whitespace\n- Fix end-of-file issues\n- Format Python code with Black\n- Sort imports with isort\n- Validate YAML/TOML syntax\n- Check for merge conflicts\n\n### Releasing New Versions\n\nUse the included version bump script to release new versions:\n\n```bash\n# Preview what will happen\npython bump_version.py patch --dry-run\n\n# Bump patch version (0.1.2 -> 0.1.3) and deploy\npython bump_version.py patch\n\n# Bump minor version (0.1.2 -> 0.2.0) and deploy\npython bump_version.py minor\n\n# Bump major version (0.1.2 -> 1.0.0) and deploy\npython bump_version.py major\n```\n\nThe script will:\n1. Update the version in `pyproject.toml`\n2. Commit the version change\n3. Create a git tag (e.g., `v0.1.3`)\n4. Push the tag to trigger GitHub Actions deployment to PyPI\n\n**Requirements:**\n- Clean git working directory (no uncommitted changes)\n- Push access to the repository\n",
"bugtrack_url": null,
"license": null,
"summary": "Detect how uv was installed and get upgrade instructions",
"version": "0.4.3",
"project_urls": null,
"split_keywords": [
"uv",
" package-manager",
" cli",
" upgrade"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c447d07a9700e06eac1f4bb5da50e394989a4080cf70b5cd6d387f75beced39f",
"md5": "09f0a32ebd40bd3062f241643fefb0e5",
"sha256": "9d4d39f73dd7e7668e8f65dde69f4b7b7c1b8d0960b70c3f2b9b057fd3401f81"
},
"downloads": -1,
"filename": "uvhow-0.4.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "09f0a32ebd40bd3062f241643fefb0e5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 5305,
"upload_time": "2025-07-22T18:38:31",
"upload_time_iso_8601": "2025-07-22T18:38:31.157887Z",
"url": "https://files.pythonhosted.org/packages/c4/47/d07a9700e06eac1f4bb5da50e394989a4080cf70b5cd6d387f75beced39f/uvhow-0.4.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ed298918407173d80f19785ae0a8c5a7d62f17812307f3d5600b6bac391593ba",
"md5": "29619d70e91ed347e7845976c7e386f5",
"sha256": "c18e8ee6a66fb7bfc44db7e068a5267e94281601b946847b13424eac0693967a"
},
"downloads": -1,
"filename": "uvhow-0.4.3.tar.gz",
"has_sig": false,
"md5_digest": "29619d70e91ed347e7845976c7e386f5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 4171,
"upload_time": "2025-07-22T18:38:32",
"upload_time_iso_8601": "2025-07-22T18:38:32.142417Z",
"url": "https://files.pythonhosted.org/packages/ed/29/8918407173d80f19785ae0a8c5a7d62f17812307f3d5600b6bac391593ba/uvhow-0.4.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-22 18:38:32",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "uvhow"
}