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.

Finally, uv can also install into non-virtual environments by providing a --python argument to uv pip sync or uv pip install. For example, uv pip install --python=/path/to/python will install into the environment linked to the /path/to/python interpreter.

For convenience, uv pip install --system will install into the system Python environment, as an approximate shorthand for, e.g., uv pip install --python=$(which python3). Though we generally recommend the use of virtual environments for dependency management, --system is intended to enable the use of uv in continuous integration and containerized environments.

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

uv-0.1.12-py3-none-musllinux_1_2_x86_64.whl (10.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

uv-0.1.12-py3-none-musllinux_1_2_i686.whl (9.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

uv-0.1.12-py3-none-manylinux_2_28_armv7l.whl (8.8 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARMv7l

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

uv-0.1.12-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ s390x

uv-0.1.12-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (10.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

uv-0.1.12-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (11.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3macOS 10.12+ x86-64

uv-0.1.12-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (19.0 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.12.tar.gz.

File metadata

  • Download URL: uv-0.1.12.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.12.tar.gz
Algorithm Hash digest
SHA256 9e06c1fb70bcc1c16f28d66be570f7da7ccbb4163daaae9e54cc20fe1a805ad6
MD5 0272663df42bbc12d73e80f113c39090
BLAKE2b-256 980f4b3339b3ce42769e9cc337604aeb6a1dfe18ce1683f5c8d0094dfefbd7f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.12-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.12-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4f04588b69335317ff327c60042bea66104820e435c86106735a81a37554c555
MD5 eb714f640e2f735d22f4e971e9892bfd
BLAKE2b-256 9a7ac40ad734f326435a3d81e5a882d8ca51e8c4c4691e82c0d5840891a81699

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.12-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.12-py3-none-win32.whl
Algorithm Hash digest
SHA256 f431f47c235fa4e296e83ba502fc3db4cb878a80b1e4c65434cfa1b58fd18735
MD5 28c074c09bf083b38c7a4216c8c47949
BLAKE2b-256 97f72365129bf207e52529f91ecd6bf2b0c48ca5fa4c7d37266f188f1edcb049

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.12-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 10.5 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.12-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4b3c50a48ab01e9c04e417a0ab9f8123c1637403ff0e6085c841e6eef5bf80e5
MD5 2065366ce0d57c3d892720a2c75756a4
BLAKE2b-256 7521d3ce6be8fbea5b8e417cbbda6e58e9ad8f5286a47ecfbb847e2ead7b0612

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.12-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 9.9 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.12-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 35d104c95c0fe3ed2fde6c3c4a9abacf64c7e146104d335ab4714792122e8dd1
MD5 548f801ffb5ef7f111d33851b04bfd0b
BLAKE2b-256 5eccb0ba6191b0dfcd6de516fdc3193d7f1cacee8771bc10c6b9e5f5c0dccb32

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.12-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.12-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 05dd9226802a9676d81dbb25e30db1a6a756e4698677a750cb60ece1c75a16fd
MD5 7817f514b5e21d8da5a9ded0130286d2
BLAKE2b-256 47f8545b34f9b05a8c52c8e1840eeb102e3d4f069c7b0e96a9e5aa23723a59e6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.12-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.12-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0bfbfb8a54d73464fca82d6eed4d7102725aafe3aa1a08bf30151106b5733fd9
MD5 399cd8eb1e1a80575ef59718dd0da597
BLAKE2b-256 5fdbc375758f14d6c85e146ed66334daffd20f220eec25ad2cc2498ba7a6b75c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.12-py3-none-manylinux_2_28_armv7l.whl
  • Upload date:
  • Size: 8.8 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.12-py3-none-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 175e892477ee85a782a4fc55f299105321ad33f6d9ab832d9310c2ee31406f40
MD5 fced722b33e0f77d985187630cbc4f3d
BLAKE2b-256 f9ebe6bb5f367b0ac7b9d0e943b52101436f0415298539d51209380002ecfdb5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.12-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.12-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c1f7986e63783da1b2d3b4369fa0cce45b3c7159a16eb9b85b8ec0486075f6b1
MD5 aa3f4bd012c58e004c5ea3e33f43a095
BLAKE2b-256 23cf77fca5c73b85c6b999f6e38ccb9f021e5828435126adef7bfa9ed68164e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.12-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b78abee9aa5bc3e2bd2955e12bc4a98386b1c3e3545886d451ff2b36742566a4
MD5 fea68d3759669977df4924c4cf903f24
BLAKE2b-256 4536be66ecf10bff8473b43f49aa9db6a23729eac5516b446baf2b651d3bf704

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.12-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 050bea404d03184e9fa4aa561403a4711577da3d60b4a86d9545dd366640eb5b
MD5 1999a63df855ed76f930b04d130439ab
BLAKE2b-256 c5be82c448a6a77930d948b6024e29a16088a70f2e0c69985e7c1f5d3ff448e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.12-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 07ccdf5f5afab9770400b436b0b10d2769b21968d11caba38268211fa0a0b010
MD5 c2b931b8ab9a8b579e447c3a90e3c041
BLAKE2b-256 fdabed8cb11a4568b2879074dd38ae66982ad6422c9b67184048bd5927d66461

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.12-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 aa0cc7f6ba1b58c14a260db3740ca7f61cac11d481de8dbaaf34ba014493782d
MD5 b4d0dac79116ad51c7fff32e529d9682
BLAKE2b-256 5dfce04c91c54fdee192b6f5b678a8c59be7dd300c1ccf44e85fa15d2475253f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.12-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4689a7855bf3666d9cd7bb589928ae1b7741965283cc17f8ddc862bdeeaa6d91
MD5 8468f031e7767bef5ad3cdbc7205f6db
BLAKE2b-256 fe2dc39312ea4bae37071205ba59f635b36eca98cf848043c6b9c5685fa94f52

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.12-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.12-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 34915138eb36118bd64d07cef2478f3bbd26615905bbea23c8aa35b296cb271e
MD5 2e280af4b5982076a8cda3d3b36f9c94
BLAKE2b-256 45f5bba3e8aa4d9e78f7bc0ecd02c8822b3445b9892af535b1d3ac2c4f589ef2

See more details on using hashes here.

File details

Details for the file uv-0.1.12-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.12-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 9a259eb7614de10dec24f5ea7899f27ef7d8f7fdecbcff58dee49600516ad69a
MD5 54062af34b91f799b9d4fe3722bccef5
BLAKE2b-256 2536431f83538640f3eed764d7ca920242ac7b9f93a6027d5b4ad3b026d8eaa0

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