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 support alternative workflows. With --resolution=lowest, uv will install the lowest compatible versions for all dependencies, both direct and transitive. Alternatively, --resolution=lowest-direct will opt for the lowest compatible versions for all direct dependencies, while using the latest compatible versions for all transitive dependencies. This distinction can be particularly useful for library authors who wish to test against the lowest supported versions of direct dependencies without restricting the versions of transitive 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.11.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.11-py3-none-win_amd64.whl (8.1 MB view details)

Uploaded Python 3Windows x86-64

uv-0.1.11-py3-none-win32.whl (7.1 MB view details)

Uploaded Python 3Windows x86

uv-0.1.11-py3-none-musllinux_1_2_x86_64.whl (10.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

uv-0.1.11-py3-none-musllinux_1_2_i686.whl (9.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

uv-0.1.11-py3-none-musllinux_1_2_armv7l.whl (8.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

uv-0.1.11-py3-none-musllinux_1_2_aarch64.whl (9.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

uv-0.1.11-py3-none-manylinux_2_28_armv7l.whl (8.6 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARMv7l

uv-0.1.11-py3-none-manylinux_2_28_aarch64.whl (10.0 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

uv-0.1.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

uv-0.1.11-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (10.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

uv-0.1.11-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (10.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

uv-0.1.11-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (11.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64

uv-0.1.11-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (10.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

uv-0.1.11-py3-none-macosx_10_12_x86_64.whl (9.4 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

uv-0.1.11-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (18.8 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.11.tar.gz.

File metadata

  • Download URL: uv-0.1.11.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.11.tar.gz
Algorithm Hash digest
SHA256 6004461241772ee0061b1edf825c82df87e2b74ed304b61f1b0156764c4b6e6e
MD5 917cd97514317355f760dc47d243873c
BLAKE2b-256 ac8b0ec2283351e89611ebe868184200cbadeb3f772fb83f1094fc784ddc791e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.11-py3-none-win_amd64.whl
  • Upload date:
  • Size: 8.1 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.11-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0420808f950815746e4e2769cd7156e81cf4b451c930dd8e027217569ae6ce82
MD5 ad97b0ecc2f71aaff47c781bd566f982
BLAKE2b-256 b543016cf376292d6e38d679b934aa98b56962b62923b813369cffb21e549ecb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.11-py3-none-win32.whl
  • Upload date:
  • Size: 7.1 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.11-py3-none-win32.whl
Algorithm Hash digest
SHA256 be28251211b595952cfc0263ec2f5b0089a0c85264fb7fd7ee4d9940075bbf91
MD5 8395048d138c33a0e6544c44a2fd1f1a
BLAKE2b-256 dcd932d864ed411b358cba60802f8940d2abd4e914ad5b816039abe96df300c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.11-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 10.3 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.11-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 df498575c2bcc8f75683a1bbb77a81618097740479b21dd3d8d1556f86e31cef
MD5 b03b4a3a53610cd88508e127a7cd3f49
BLAKE2b-256 8556a2ed9ece6c08f402e4288a381dd0e9622dd5391db75f2f409d8361d76257

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.11-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 9.8 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.11-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 e334aa7153226ba5d520c1974d1f0f1622a8d6311566750ce68a46ba4ef375fc
MD5 06b2f820cdd0cc3d864c8d49ce46f21f
BLAKE2b-256 282aff8cc6716835a6aee0c1dd5d4fbd1df1d92dc56f713cb3d6b9cc3af231fb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.11-py3-none-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 8.6 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.11-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 393d73afa9e132952490613a75e8d03b6df232d03164979d067f2edb806893ae
MD5 7adbc520d5dbba8fb672bfdd07caa706
BLAKE2b-256 a91a6f46f9c03237bd9f80e705212377bacd9873b48ae98604cad556a395fccc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.11-py3-none-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 9.9 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.11-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7c338c4b31c6d40b9cefdfaede32b85eb59ede287283a5d189163dad807b096d
MD5 67a952ba1a1b42501c601a771b52b61e
BLAKE2b-256 6feff02d86c19fe41358606db961805852e38a6cef4d1c76b511b1eeb2e48ade

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.11-py3-none-manylinux_2_28_armv7l.whl
  • Upload date:
  • Size: 8.6 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.11-py3-none-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 872b1998d83f0ccb7ea01e15e025b31a7bcb3e422515949a4fd1824ceac8270a
MD5 660743d40abf5c3ad36673fb54d0a443
BLAKE2b-256 16cae67ed8d1d6bc58547f01ee2bc180d5ff4b22ccac7c1c83621badb4e9cd86

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.11-py3-none-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 10.0 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.11-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ed0b7b5b25108b857f0aeabaf57502724d34c83851d292d4fabda6fbf9e177b6
MD5 1466fc1aa7b81bb95cfe977510691cac
BLAKE2b-256 d8b47c929fc6178fbf4313eae3deea0c836b02a91a81078557a0a4885c0607d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 01da14a67b51919e6f393a4035941517a9d23c9b0d8d16a2ac1169bcbdecf635
MD5 9fd3c47204e336c2cde938d6a2326ab7
BLAKE2b-256 6a7618a572d2c348d8d1cc99c337abf69a7c00841b900b8cf4608d2fb56b5b75

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.11-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 4afebb80747adc575eb3a71dc306e57398a1099fa9b22b98d6a8de29662e1799
MD5 cdfbacea772c0b9a758fd6163de4290e
BLAKE2b-256 ce40de9f4cfed4e0ac50cdd6feb7ebe0c8849e8e344f1c35bf99e11f7143356e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.11-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 5fd0549d51b36586d0a54e47053a17476e22376e0d91b07a0bb9f33c40a243bd
MD5 4a70dba941f7b96a8a0690be198bf8cb
BLAKE2b-256 d4589efc42bbbc756969f0c5eee46c32c8a18157758418e48851905b65466ef4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.11-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 abf035849208d1353dd6e106b85f06470dbdb3583bebf8b06f02192c577449b0
MD5 3868b9140c2b3105001c21b122cb1026
BLAKE2b-256 3cc91042563b276578a95246c03ef5bce3e5cb4b2aac77eaf29b880e41e99342

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.11-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1e1962c9c57b602a4b81d59f20c97065cb10a16a08a4c3021f7ca82a04abb2b5
MD5 2f9b5625a0742e979e537784f4e2b5c2
BLAKE2b-256 23019e09b083591343abb3a5c5a5ffa61e98a403964b9fd5fef32dc34232e1d1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.11-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 9.4 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.11-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e1ec2f78c0d62924b5c970c28a85e57a53cefe4a998d887de91f447ef00cc8ef
MD5 8b13108ff378f3b59884482bb54ea0fa
BLAKE2b-256 64d01161d596b7d531cb68bf3d27f7c986c8912220e4a70d5141096a7d43127d

See more details on using hashes here.

File details

Details for the file uv-0.1.11-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.11-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 dc13d7198848aedb28336d9b5426308ee210bb6fce13f3d7dff2fc48f4f2eb8d
MD5 acc40df18a7ecbe28dfae4195d0166ff
BLAKE2b-256 79d74e0c41c95502ca97441aa9bcb6162075d2fecf4100f051b30fddaff8414a

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