uvhow


Nameuvhow JSON
Version 0.4.3 PyPI version JSON
download
home_pageNone
SummaryDetect how uv was installed and get upgrade instructions
upload_time2025-07-22 18:38:32
maintainerNone
docs_urlNone
authorTim Hopper
requires_python>=3.8
licenseNone
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"
}
        
Elapsed time: 1.79917s