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 (with PowerShell).
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.ps1

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

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.

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.6.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.6-py3-none-win_amd64.whl (8.2 MB view details)

Uploaded Python 3Windows x86-64

uv-0.1.6-py3-none-win32.whl (7.2 MB view details)

Uploaded Python 3Windows x86

uv-0.1.6-py3-none-musllinux_1_2_x86_64.whl (10.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ i686

uv-0.1.6-py3-none-musllinux_1_2_armv7l.whl (8.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

uv-0.1.6-py3-none-musllinux_1_2_aarch64.whl (10.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

uv-0.1.6-py3-none-manylinux_2_28_armv7l.whl (8.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARMv7l

uv-0.1.6-py3-none-manylinux_2_28_aarch64.whl (10.1 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

uv-0.1.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

uv-0.1.6-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (10.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

uv-0.1.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (10.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

uv-0.1.6-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (11.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64

uv-0.1.6-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (10.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

uv-0.1.6-py3-none-macosx_10_12_x86_64.whl (9.5 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

uv-0.1.6-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (18.9 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.6.tar.gz.

File metadata

  • Download URL: uv-0.1.6.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.6.tar.gz
Algorithm Hash digest
SHA256 ff99ab1e5bf6cb6b69c04b2ab4b381e075af6db3f4c6ce522efd1d9a065aa764
MD5 b96aaf0903d438046f04c4b68f2e8c0e
BLAKE2b-256 0622974d7f2a152efef2befc305371f2b056fc0e38adb88b367b6f60509049b3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.6-py3-none-win_amd64.whl
  • Upload date:
  • Size: 8.2 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.6-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 b7a2c1863ec176fe0dc907f166c2fd351ce59591735ccf12f1bf782e09afd115
MD5 8e2e310ba4dcdfb19cc9972336ea5ede
BLAKE2b-256 6b2dd90773dde0f68ca7e14419ad4e8716fb87490659485d125ed76861d1aa12

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.6-py3-none-win32.whl
  • Upload date:
  • Size: 7.2 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.6-py3-none-win32.whl
Algorithm Hash digest
SHA256 3bdc8ac28f7df790aa58cab494a2fb0191787b4b700927c55920b901d7c1c839
MD5 25d910877c01311ff44c637d39b4d04a
BLAKE2b-256 5ab8e08458866bd6ff70f97c6ecc05b4e61d074b8dd65df826301763e5aa7c55

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.6-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 10.4 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.6-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 40da8324ecb93c73f5301edc20f9733192dd89ac567dddc98b06bf2d8a40c36e
MD5 3efb6021827f5a191101f394ff185152
BLAKE2b-256 25f6c0c890c2a282ee3665787d5a58cc80120304357051897cc0be7a42f0226c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.6-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.6-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 213ec5dd4031d08403bbc332fa76f870986d956e0b5c2b375356729800ebbb3e
MD5 8fc25bab774bf021c6676118bc463ebd
BLAKE2b-256 4cab4200a5ba843bcae1579ac40e329ae7ba08882eadda9c2f7da513dee7a42f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.6-py3-none-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 8.7 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.6-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 868cb74e72057ff5bd2486079403c0d2d6574958528d9ad4b52c1ca322566424
MD5 a07a5427ed7c30ccd4edf9725b4027d6
BLAKE2b-256 af48a559b3903548762e2685fd1da683c79213fe854366a4aa6085d7d02e8ee2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.6-py3-none-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 10.0 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.6-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a417051b7c0f73131a570b77e24f7db2cce28193521606211b0f8dbb0c43a008
MD5 5a14aaaf183af0770b0bc9c89da4d88c
BLAKE2b-256 a37c1268d5eeb1a9e2a74aaf8aea68108941c9934365dff67ccd3371778c00ef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.6-py3-none-manylinux_2_28_armv7l.whl
  • Upload date:
  • Size: 8.7 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.6-py3-none-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 9a9a55e7e8bcef252be112a02ba29a6175c6bb9fbb01778fc5ee8cf3f746b114
MD5 d7b3c927693785b639f2b32d5a2fc267
BLAKE2b-256 1185f36b48973b2c9ca69ef03c03b4a86609fddade3446bf8a54080baa5ec4cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.6-py3-none-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 10.1 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.6-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 215aa16e034558eade3d6a5f8e1a29015780722bd47ca59572a666ca0a3297ad
MD5 adf500e8e2b82c043ef8ef6cf4317a5d
BLAKE2b-256 b5884840958b8f8617021cb3b32a623ec64afadaab666b8474ec2074c3958f22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 666e2d2621e79506fba7aa1621d6295a62b03e8b519f5e86649d7e96301337d4
MD5 deab0580fb5956b1ecb794028dc9b828
BLAKE2b-256 e7b30033d685bd6cd020f6ea922bfa0aeccc658ca48eb69bb3486be2c043c638

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.6-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 cf64b6e614765343ed563f2d99f92124a6f7b25010cefb8b14e4053dc098750b
MD5 92055c833415fd681263e04d3329dec5
BLAKE2b-256 6852ba258f92fe0776a6681530178c03af9549a1e23364d72c3e219e78044fac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3c6f708c27f10628973237f7a97cc11a13ec5a5c75721e16314067f05dbf4e36
MD5 884d0e06565edb0521290d43a940611f
BLAKE2b-256 e2be9af4dc56f4c263fe19caa6bfcfd49ee9e90707e4840522b49112dc0eb2b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.6-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 289530c96a0e046e3795b3d431e4f6d61265ba018a1ad6c0c0d6bfe994755986
MD5 f2cb57fea3f4e478d31316b74893d134
BLAKE2b-256 fa3b5da3aeb651fdcf22d0db30c48e08f07c4ac4df140c85691afac37b22642f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.6-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 654cbf9eb86216be2129da6106aa271202e59bb03041486e475d1d0177965283
MD5 7c76105889826f0e90e4fbcb8eae6601
BLAKE2b-256 19efbe1bf8a028e5f2ba33a96367ec2f4d22f672fa3dafb9849da98561e9cf45

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.6-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 9.5 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.6-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a89cdb3d00add9d7c90f807298aab8af78f391296ef549b3417f5cc5f1f29387
MD5 94a4cb28aa58125bf40471c19de45e75
BLAKE2b-256 3af9f88bed2cd6ac2cf18060a91c5499530305601d7f89fe91d366d7d647f0f8

See more details on using hashes here.

File details

Details for the file uv-0.1.6-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.6-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 fb51e303fee848438713fb67ded71ad8077b6a16041f90a35cb5c6583c14bc1f
MD5 87ead1f27ce5c4b92bf916ef6874e8bb
BLAKE2b-256 0fd0d003f7dd05625e7c9b127c0b0f166ce80f8afb5b03a874559d9890b6b237

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