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

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.28+ ARMv7l

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

uv-0.1.7-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.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (10.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

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

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

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

Uploaded Python 3manylinux: glibc 2.17+ ppc64

uv-0.1.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (10.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3macOS 10.12+ x86-64

uv-0.1.7-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.7.tar.gz.

File metadata

  • Download URL: uv-0.1.7.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.7.tar.gz
Algorithm Hash digest
SHA256 0c36c4d7c5f4b525523d85614a0ddcf6cc00243274cd9be936de626dee2c0bfb
MD5 cc75e4b218ac223360f2fff4d7a9ef07
BLAKE2b-256 5827ce8b824d0b9585d7aa0d0a0f68ea87b02e0a47b53333ea12b0179cfcc2cc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.7-py3-none-win_amd64.whl
  • Upload date:
  • Size: 7.9 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.7-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 03b89be96a2e0a34e980354583a1b1d03af2e5422fc8bea2a3b2938c747e687d
MD5 f436e8b9b5f35df4701ff7d76c177bfc
BLAKE2b-256 2b8425c2acb4666e33935a8856ee2703c4169e0e1a965aa42dde1d550babc032

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.7-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.7-py3-none-win32.whl
Algorithm Hash digest
SHA256 e99c5d9fe0807065a90e4549608e2d56d48f9f3a1322262152147c4dddc05f2d
MD5 f366c9ba177d567da7fc7e19a5805f1b
BLAKE2b-256 c14cb323928f25e8a28f5d26b13feef73d9032d2b55db8810dd9873af04521c8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.7-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.7-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 70c931e766f06c323a1346029178c73ad182d278a848756d1c9c421eb1ba5c84
MD5 014c662903ac4b183ae8692ea37503d1
BLAKE2b-256 6979e959b07f81a48a39e26f364ff3645226760e48faadbfb27b5a2fb8d550de

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.7-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.7-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 14855bd3c4d35e1cfc7a69308e108999f3c14bc261b38792b6dcccd629a91727
MD5 f5468555335f2130ca6ab9bb0b53cbb5
BLAKE2b-256 7fb098a378d3e75818d3b4a379f54577d19a10f52d3ee931d939ee26bfee8956

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.7-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.7-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 6c6d8670d7c7847b16fdd1e16351516f9b63891a93e762528f17768b43096a25
MD5 ddfd9b6dfedbdb408474315fc5327c22
BLAKE2b-256 21f84cdb9bf3fa838dbb83b6759562905c0396a072a4ad2b2a1a33eb141e61d3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.7-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.7-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 85f40072a74cf459c611da7065cd76ba7f7d6f7a0f065bd2c9388fabc904258d
MD5 2a2b4eb02c390b1c6b5a731cf683419c
BLAKE2b-256 b3f6bc7fe0e2c2d5fae7ad8c28148ece98205c809a8d30906650506b635fd221

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.7-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.7-py3-none-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 4f4463d0654520412a7595bacb267c4d645bf91acec18a105c84979c3e586c5b
MD5 cab4b4debdb0e1a45997be32918bb419
BLAKE2b-256 2303c79ee0758da25ae058f530a4f2263a73659c937ecb63971203b5ce042946

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.7-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.7-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 021646bac9fb3a2c083a8e33ff8565825e4cf33ac6a438e2550b3f60c5105bb7
MD5 bb9c88598c89f0dddc0a798f5d2bd865
BLAKE2b-256 ab16afd0da3c432f88aaba36c5dd88a8ccb7cc35daf9f4e601b1cb9683915f9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8d1830e70dc72e471ca180d3317b38ecbec82c12425b2fb142b297515c742c79
MD5 1468471a65e8b290b3baab4b382e4e2b
BLAKE2b-256 c9cf78aecd38e8a1b403be323a42ffe1ae331f471195d20212c5f8846b8526ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 aba29ae97d56a76de5749fec38b9185d730da9515c319e706917dac1506cad46
MD5 648fd5daeabd913b35543db1bec984e0
BLAKE2b-256 ed6dd21f935e256da1c27966649673b1d2a4b5fa23c29bb35014de73fcf253cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f97bac2815b36f1e8dafbaa69d9aa5dba13ce41ca314f1068563375c57056b3a
MD5 2552b052fac16b93e51123f3d7dc0ee7
BLAKE2b-256 5a2ac26d3c95c82796acf6506a0856de0aff572cbbe557f3c2cc8691c3735ffa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.7-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 54ae53be794682a49943ca4eca66b4000b1f87348b2ad8d0b835baa87c60f576
MD5 292bbadf11fea97d7b1130255fadcd95
BLAKE2b-256 f3189547d91a7cd7a44a1a6466211e717cfc61c8a4789347709b296a6e5111e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0c05788e0f83cd73e44bc32a7d1bbef3419c1fcf96678865fa7c6148b6b76352
MD5 4bf045d05a196624864062807c0aa22d
BLAKE2b-256 bda44f12315805a613fb9d71040e1f3836445e9dfa1622d7210edff0ff4e2b48

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.7-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.7-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9ca3840837102677492839047a7c33bd0f30a146cd2c30ba9c8e00a7cfa55d42
MD5 c8ee5e2ae79ec5889c1bc565eed1ce3a
BLAKE2b-256 c22eba2108848952b103e4c1a1d0033a4618807eb16544e1d8ea4f3ba0e98190

See more details on using hashes here.

File details

Details for the file uv-0.1.7-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.7-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 4b706cdc66197550f87accddf059a2c91d4316bde2d2dc8eae9666921c71f360
MD5 f9ce37b7a7fe394b5db37c68dc311b7d
BLAKE2b-256 9cde13048a79d6eb9d228a6e33f6e0a2f26b505a4dd716314f091ec7394dfafd

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