Skip to main content

An extremely fast Python package installer and resolver, written in Rust.

Project description

uv

uv image image image Actions status Discord

An extremely fast Python package installer and resolver, written in Rust. Designed as a drop-in replacement for pip and pip-compile.

uv is backed by Astral, the creators of Ruff.

Highlights

  • ⚖️ Drop-in replacement for common pip, pip-tools, and virtualenv commands.
  • ⚡️ 10-100x faster than pip and pip-tools (pip-compile and pip-sync).
  • 💾 Disk-space efficient, with a global cache for dependency deduplication.
  • 🐍 Installable via curl, pip, pipx, etc. uv is a static binary that can be installed without Rust or Python.
  • 🧪 Tested at-scale against the top 10,000 PyPI packages.
  • 🖥️ Support for macOS, Linux, and Windows.
  • 🧰 Advanced features such as dependency version overrides and alternative resolution strategies.
  • ⁉️ Best-in-class error messages with a conflict-tracking resolver.
  • 🤝 Support for a wide range of advanced pip features, including editable installs, Git dependencies, direct URL dependencies, local dependencies, constraints, source distributions, HTML and JSON indexes, and more.

Getting Started

Install uv with our standalone installers, or from PyPI:

# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh

# On Windows.
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# With pip.
pip install uv

# With pipx.
pipx install uv

# With Homebrew.
brew install uv

# With Pacman.
pacman -S uv

To create a virtual environment:

uv venv  # Create a virtual environment at .venv.

To activate the virtual environment:

# On macOS and Linux.
source .venv/bin/activate

# On Windows.
.venv\Scripts\activate

To install a package into the virtual environment:

uv pip install flask                # Install Flask.
uv pip install -r requirements.txt  # Install from a requirements.txt file.
uv pip install -e .                 # Install the current project in editable mode.
uv pip install "package @ ."        # Install the current project from disk
uv pip install "flask[dotenv]"      # Install Flask with "dotenv" extra.

To generate a set of locked dependencies from an input file:

uv pip compile pyproject.toml -o requirements.txt   # Read a pyproject.toml file.
uv pip compile requirements.in -o requirements.txt  # Read a requirements.in file.

To sync a set of locked dependencies with the virtual environment:

uv pip sync requirements.txt  # Install from a requirements.txt file.

uv's pip-install and pip-compile commands support many of the same command-line arguments as existing tools, including -r requirements.txt, -c constraints.txt, -e . (for editable installs), --index-url, and more.

Limitations

uv does not support the entire pip feature set. Namely, uv does not (and does not plan to) support the following pip features:

  • .egg dependencies
  • Editable installs for Git and direct URL dependencies (editable installs are supported for local dependencies)

On the other hand, uv plans to (but does not currently) support:

Like pip-compile, uv generates a platform-specific requirements.txt file (unlike, e.g., poetry and pdm, which generate platform-agnostic poetry.lock and pdm.lock files). As such, uv's requirements.txt files may not be portable across platforms and Python versions.

Roadmap

uv is an extremely fast Python package resolver and installer, designed as a drop-in replacement for pip, pip-tools (pip-compile and pip-sync), and virtualenv.

uv represents an intermediary goal in our pursuit of a "Cargo for Python": a comprehensive project and package manager that is extremely fast, reliable, and easy to use.

Think: a single binary that bootstraps your Python installation and gives you everything you need to be productive with Python, bundling not only pip, pip-tools, and virtualenv, but also pipx, tox, poetry, pyenv, ruff, and more.

Our goal is to evolve uv into such a tool.

In the meantime, though, the narrower pip-tools scope allows us to solve the low-level problems involved in building such a tool (like package installation) while shipping something immediately useful with a minimal barrier to adoption.

Advanced Usage

Python discovery

uv itself does not depend on Python, but it does need to locate a Python environment to (1) install dependencies into the environment and (2) build source distributions.

When running pip sync or pip install, uv will search for a virtual environment in the following order:

  • An activated virtual environment based on the VIRTUAL_ENV environment variable.
  • An activated Conda environment based on the CONDA_PREFIX environment variable.
  • A virtual environment at .venv in the current directory, or in the nearest parent directory.

If no virtual environment is found, uv will prompt the user to create one in the current directory via uv venv.

When running pip compile, uv does not require a virtual environment and will search for a Python interpreter in the following order:

  • An activated virtual environment based on the VIRTUAL_ENV environment variable.
  • An activated Conda environment based on the CONDA_PREFIX environment variable.
  • A virtual environment at .venv in the current directory, or in the nearest parent directory.
  • The Python interpreter available as python3 on macOS and Linux, or python.exe on Windows.

If a --python-version is provided to pip compile (e.g., --python-version=3.7), uv will search for a Python interpreter matching that version in the following order:

  • An activated virtual environment based on the VIRTUAL_ENV environment variable.
  • An activated Conda environment based on the CONDA_PREFIX environment variable.
  • A virtual environment at .venv in the current directory, or in the nearest parent directory.
  • The Python interpreter available as, e.g., python3.7 on macOS and Linux. On Windows, uv will use the same mechanism as py --list-paths to discover all available Python interpreters, and will select the first interpreter matching the requested version.
  • The Python interpreter available as python3 on macOS and Linux, or python.exe on Windows.

Since uv has no dependency on Python, it can even install into virtual environments other than its own. For example, setting VIRTUAL_ENV=/path/to/venv will cause uv to install into /path/to/venv, no matter where uv is installed.

Git authentication

uv allows packages to be installed from Git and supports the following schemes for authenticating with private repositories.

Using SSH:

  • git+ssh://git@<hostname>/... (e.g. git+ssh://git@github.com/astral-sh/uv)
  • git+ssh://git@<host>/... (e.g. git+ssh://git@github.com-key-2/astral-sh/uv)

See the GitHub SSH documentation for more details on how to configure SSH.

Using a password or token:

  • git+https://<user>:<token>@<hostname>/... (e.g. git+https://git:github_pat_asdf@github.com/astral-sh/uv)
  • git+https://<token>@<hostname>/... (e.g. git+https://github_pat_asdf@github.com/astral-sh/uv)
  • git+https://<user>@<hostname>/... (e.g. git+https://git@github.com/astral-sh/uv)

When using a GitHub personal access token, the username is arbitrary. GitHub does not support logging in with password directly, although other hosts may. If a username is provided without credentials, you will be prompted to enter them.

If there are no credentials present in the URL and authentication is needed, the Git credential helper will be queried.

Dependency caching

uv uses aggressive caching to avoid re-downloading (and re-building dependencies) that have already been accessed in prior runs.

The specifics of uv's caching semantics vary based on the nature of the dependency:

  • For registry dependencies (like those downloaded from PyPI), uv respects HTTP caching headers.
  • For direct URL dependencies, uv respects HTTP caching headers, and also caches based on the URL itself.
  • For Git dependencies, uv caches based on the fully-resolved Git commit hash. As such, uv pip compile will pin Git dependencies to a specific commit hash when writing the resolved dependency set.
  • For local dependencies, uv caches based on the last-modified time of the setup.py or pyproject.toml file.

If you're running into caching issues, uv includes a few escape hatches:

  • To force uv to revalidate cached data for all dependencies, run uv pip install --refresh ....
  • To force uv to revalidate cached data for a specific dependency, run, e.g., uv pip install --refresh-package flask ....
  • To force uv to ignore existing installed versions, run uv pip install --reinstall ....
  • To clear the global cache entirely, run uv cache clean.

Resolution strategy

By default, uv follows the standard Python dependency resolution strategy of preferring the latest compatible version of each package. For example, uv pip install flask>=2.0.0 will install the latest version of Flask (at time of writing: 3.0.0).

However, uv's resolution strategy can be configured to prefer the lowest compatible version of each package (--resolution=lowest), or even the lowest compatible version of any direct dependencies (--resolution=lowest-direct), both of which can be useful for library authors looking to test their packages against the oldest supported versions of their dependencies.

For example, given the following requirements.in file:

flask>=2.0.0

Running uv pip compile requirements.in would produce the following requirements.txt file:

# This file was autogenerated by uv via the following command:
#    uv pip compile requirements.in
blinker==1.7.0
    # via flask
click==8.1.7
    # via flask
flask==3.0.0
itsdangerous==2.1.2
    # via flask
jinja2==3.1.2
    # via flask
markupsafe==2.1.3
    # via
    #   jinja2
    #   werkzeug
werkzeug==3.0.1
    # via flask

However, uv pip compile --resolution=lowest requirements.in would instead produce:

# This file was autogenerated by uv via the following command:
#    uv pip compile requirements.in --resolution=lowest
click==7.1.2
    # via flask
flask==2.0.0
itsdangerous==2.0.0
    # via flask
jinja2==3.0.0
    # via flask
markupsafe==2.0.0
    # via jinja2
werkzeug==2.0.0
    # via flask

Pre-release handling

By default, uv will accept pre-release versions during dependency resolution in two cases:

  1. If the package is a direct dependency, and its version markers include a pre-release specifier (e.g., flask>=2.0.0rc1).
  2. If all published versions of a package are pre-releases.

If dependency resolution fails due to a transitive pre-release, uv will prompt the user to re-run with --prerelease=allow, to allow pre-releases for all dependencies.

Alternatively, you can add the transitive dependency to your requirements.in file with pre-release specifier (e.g., flask>=2.0.0rc1) to opt in to pre-release support for that specific dependency.

Pre-releases are notoriously difficult to model, and are a frequent source of bugs in other packaging tools. uv's pre-release handling is intentionally limited and intentionally requires user intervention to opt in to pre-releases to ensure correctness, though pre-release handling will be revisited in future releases.

Dependency overrides

Historically, pip has supported "constraints" (-c constraints.txt), which allows users to narrow the set of acceptable versions for a given package.

uv supports constraints, but also takes this concept further by allowing users to override the acceptable versions of a package across the dependency tree via overrides (--override overrides.txt).

In short, overrides allow the user to lie to the resolver by overriding the declared dependencies of a package. Overrides are a useful last resort for cases in which the user knows that a dependency is compatible with a newer version of a package than the package declares, but the package has not yet been updated to declare that compatibility.

For example, if a transitive dependency declares pydantic>=1.0,<2.0, but the user knows that the package is compatible with pydantic>=2.0, the user can override the declared dependency with pydantic>=2.0,<3 to allow the resolver to continue.

While constraints are purely additive, and thus cannot expand the set of acceptable versions for a package, overrides can expand the set of acceptable versions for a package, providing an escape hatch for erroneous upper version bounds.

Multi-version resolution

uv's pip-compile command produces a resolution that's known to be compatible with the current platform and Python version. Unlike Poetry, PDM, and other package managers, uv does not yet produce a machine-agnostic lockfile.

However, uv does support resolving for alternate Python versions via the --python-version command line argument. For example, if you're running uv on Python 3.9, but want to resolve for Python 3.8, you can run uv pip compile --python-version=3.8 requirements.in to produce a Python 3.8-compatible resolution.

Platform support

uv has Tier 1 support for the following platforms:

  • macOS (Apple Silicon)
  • macOS (x86_64)
  • Linux (x86_64)
  • Windows (x86_64)

uv is continuously built, tested, and developed against its Tier 1 platforms. Inspired by the Rust project, Tier 1 can be thought of as "guaranteed to work".

uv has Tier 2 support ("guaranteed to build") for the following platforms:

  • Linux (PPC64)
  • Linux (PPC64LE)
  • Linux (aarch64)
  • Linux (armv7)
  • Linux (i686)
  • Linux (s390x)

uv ships pre-built wheels to PyPI for its Tier 1 and Tier 2 platforms. However, while Tier 2 platforms are continuously built, they are not continuously tested or developed against, and so stability may vary in practice.

Beyond the Tier 1 and Tier 2 platforms, uv is known to build on i686 Windows, and known not to build on aarch64 Windows, but does not consider either platform to be supported at this time.

uv supports and is tested against Python 3.8, 3.9, 3.10, 3.11, and 3.12.

Acknowledgements

uv's dependency resolver uses PubGrub under the hood. We're grateful to the PubGrub maintainers, especially Jacob Finkelman, for their support.

uv's Git implementation is based on Cargo.

Some of uv's optimizations are inspired by the great work we've seen in pnpm, Orogene, and Bun. We've also learned a lot from Nathaniel J. Smith's Posy and adapted its trampoline for Windows support.

License

uv is licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in uv by you, as defined in the Apache-2.0 license, shall be dually licensed as above, without any additional terms or conditions.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uv-0.1.8.tar.gz (1.6 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

uv-0.1.8-py3-none-win_amd64.whl (8.0 MB view details)

Uploaded Python 3Windows x86-64

uv-0.1.8-py3-none-win32.whl (7.0 MB view details)

Uploaded Python 3Windows x86

uv-0.1.8-py3-none-musllinux_1_2_x86_64.whl (10.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

uv-0.1.8-py3-none-musllinux_1_2_i686.whl (9.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

uv-0.1.8-py3-none-musllinux_1_2_armv7l.whl (8.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

uv-0.1.8-py3-none-musllinux_1_2_aarch64.whl (9.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

uv-0.1.8-py3-none-manylinux_2_28_armv7l.whl (8.5 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARMv7l

uv-0.1.8-py3-none-manylinux_2_28_aarch64.whl (9.9 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

uv-0.1.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

uv-0.1.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (10.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

uv-0.1.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (10.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

uv-0.1.8-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (11.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64

uv-0.1.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (10.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

uv-0.1.8-py3-none-macosx_10_12_x86_64.whl (9.3 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

uv-0.1.8-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (18.5 MB view details)

Uploaded Python 3macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file uv-0.1.8.tar.gz.

File metadata

  • Download URL: uv-0.1.8.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for uv-0.1.8.tar.gz
Algorithm Hash digest
SHA256 c7d29191db20f095595f04643574f78d737e5872e956edb80314fba6a8c52675
MD5 c1c17e4370decca8c98ef5451c37cb41
BLAKE2b-256 a0e63098c0e5986919287a41a4a1134b67f94b93da18b3c007875932e6844d8e

See more details on using hashes here.

File details

Details for the file uv-0.1.8-py3-none-win_amd64.whl.

File metadata

  • Download URL: uv-0.1.8-py3-none-win_amd64.whl
  • Upload date:
  • Size: 8.0 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for uv-0.1.8-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6366dd6404f490e79334d338286a04dfa3fecccb31fb4b92a96ee8a167967b2e
MD5 862374f5a4f199f4b694030e59fabadb
BLAKE2b-256 af068054a4a7917e4f5075084a6aa9d396659bd7efdd43039d0dbc9026862a21

See more details on using hashes here.

File details

Details for the file uv-0.1.8-py3-none-win32.whl.

File metadata

  • Download URL: uv-0.1.8-py3-none-win32.whl
  • Upload date:
  • Size: 7.0 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for uv-0.1.8-py3-none-win32.whl
Algorithm Hash digest
SHA256 82095b77f30e0bb04019ce673af461cbb210f88130ee62b18cffb9708d3e42d4
MD5 47faa1812acac71298ab35bf1f1f711f
BLAKE2b-256 fae6d5ee1ce1e2360de17a62544b1311baca6cc31f7a0314295054a176222bb0

See more details on using hashes here.

File details

Details for the file uv-0.1.8-py3-none-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: uv-0.1.8-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 10.2 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for uv-0.1.8-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2450d8e3c6da40aa005be82515537be609e76104279ec910c98c881430a11fb3
MD5 b88bc81a69f1bda69af7bfcad991c835
BLAKE2b-256 da89068423f499a75afbd9ceeccfc2a58cbccde032b656a06bcf6cecd9cc9625

See more details on using hashes here.

File details

Details for the file uv-0.1.8-py3-none-musllinux_1_2_i686.whl.

File metadata

  • Download URL: uv-0.1.8-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 9.6 MB
  • Tags: Python 3, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for uv-0.1.8-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 fd26c7ed130ccaf7f9ab4a60af953948ab3c4bb65bffeedb8d9a7381c72ad33e
MD5 244c3f56e9fce3404331222e80a67766
BLAKE2b-256 b7f457e7848949a2346e1ba50bda3e4159441cf599e7d927debc66c6da1149ef

See more details on using hashes here.

File details

Details for the file uv-0.1.8-py3-none-musllinux_1_2_armv7l.whl.

File metadata

  • Download URL: uv-0.1.8-py3-none-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 8.5 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for uv-0.1.8-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 60cdf4990be5d552bd44f068488646c4c50a0a947f45194ec9286b5ddc18b8c5
MD5 3b5f37d4c4b112857d99deb44b60396f
BLAKE2b-256 3fef2b89a977cfec98aa37ecde04b55154821f4523fbdf7f67a74965b7c1630c

See more details on using hashes here.

File details

Details for the file uv-0.1.8-py3-none-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: uv-0.1.8-py3-none-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 9.8 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for uv-0.1.8-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 879fbacbac2b33bbfe20ef66447b4488a5491ee4f22b48126cb3383f6b33d3a9
MD5 6b99eb73b8de76604a0d1c3c2332b34b
BLAKE2b-256 200e576dba858a2ca96b071a99b1b566f0ca50fa79e188961259f4d6b404b66a

See more details on using hashes here.

File details

Details for the file uv-0.1.8-py3-none-manylinux_2_28_armv7l.whl.

File metadata

  • Download URL: uv-0.1.8-py3-none-manylinux_2_28_armv7l.whl
  • Upload date:
  • Size: 8.5 MB
  • Tags: Python 3, manylinux: glibc 2.28+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for uv-0.1.8-py3-none-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 7b3ed08c250128e7fc7d052a16b8a0d5480c4d7701e82b0eff5157954013100f
MD5 ebf3558c01905b6aa6e783e7ccf18ad1
BLAKE2b-256 2ff95e6173017f11701e9790ca7de8fc906d779bba63588051ebdbd80ca92302

See more details on using hashes here.

File details

Details for the file uv-0.1.8-py3-none-manylinux_2_28_aarch64.whl.

File metadata

  • Download URL: uv-0.1.8-py3-none-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 9.9 MB
  • Tags: Python 3, manylinux: glibc 2.28+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for uv-0.1.8-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7489dd3da66956223477b31059720986362e657060e9ee5a7826eec071e310e7
MD5 cdea0497db4e6befb322079d0ccd22a8
BLAKE2b-256 f1ada2e118246b71cc08d74b71795826ced9cebb8e14625dfdfec06965d79e53

See more details on using hashes here.

File details

Details for the file uv-0.1.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for uv-0.1.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6fd1e02e6a8e3ff4ba162e22779ebc5187a800b79517ceb3a6732edf4667f139
MD5 c1a4e185773ada044416158981821d8a
BLAKE2b-256 005cd43e1f5ff0b0368bf4d2095dde3d61d4902fe038887b8f0b9908a6437109

See more details on using hashes here.

File details

Details for the file uv-0.1.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for uv-0.1.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 7b6403c6a188a51bd0f573b93a2b6d4cf8d227e55d5426ddc3c76eecb996891c
MD5 cf42fdcfdfa6bdf906b4d992e4d95d09
BLAKE2b-256 d91575c3226d7e45c80f98c22e0749beb190e204d0b9a1c3812687b27d8803fd

See more details on using hashes here.

File details

Details for the file uv-0.1.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for uv-0.1.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4881209afb1b552185ed5e2de0d9a44ae348661aca03d008683d8c429ae7aa8a
MD5 6e6f80e9c7da668f24973283aa42ab43
BLAKE2b-256 f997c995736a86cc2dd9f443233b052831d6cb9bd675bb92cb6f66ad06465558

See more details on using hashes here.

File details

Details for the file uv-0.1.8-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl.

File metadata

File hashes

Hashes for uv-0.1.8-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 05679994c75f33a507ad389a8f47e3705acf38d0b4e1ce00fcfc64f961006e1d
MD5 a783788beced5de9d7e4e16313f1a117
BLAKE2b-256 fa540260a7dbb5ee54ec506f00a3d42e94e651209098d1b5368e0fd032afdde8

See more details on using hashes here.

File details

Details for the file uv-0.1.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for uv-0.1.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f1b43c6a4fc38cc0824d3209391612923a17fb579322996ed55494b370857794
MD5 7c3fa4e6956a065b2325a332f5b8147e
BLAKE2b-256 f95011d04a20fda99a0192ef294479737ce9b34491999de3dc77dc941355ecfb

See more details on using hashes here.

File details

Details for the file uv-0.1.8-py3-none-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: uv-0.1.8-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 9.3 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for uv-0.1.8-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 534fd1f88d945e25401e81c462095768228aaaa507213fa2d533f6e1a641535c
MD5 f16583315021c54a71fd7a2ee6080c60
BLAKE2b-256 6ecf16d4d521208339567013ceddb4d2b6b027de6b5651e877dd5ed0989d3929

See more details on using hashes here.

File details

Details for the file uv-0.1.8-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for uv-0.1.8-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 a079dd5723e64aacee397c17c6a3a8863f92e34e487554236250a441cadecc34
MD5 e8580c4f6afafbe2da36a1a9d19ef2a2
BLAKE2b-256 a406b83513f3315b6e3636c5ef1b71b8a11746de854f6ac3a732f2a30ff2b60c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page