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.
irm https://astral.sh/uv/install.ps1 | iex

# With pip.
pip install uv

# With pipx.
pipx install 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 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 v0.0.1 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 v0.0.1 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 (-o 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.3.tar.gz (1.5 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.3-py3-none-win_amd64.whl (8.0 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

uv-0.1.3-py3-none-musllinux_1_2_i686.whl (9.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.28+ ARMv7l

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ s390x

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

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

uv-0.1.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (11.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3macOS 10.12+ x86-64

uv-0.1.3-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (18.6 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.3.tar.gz.

File metadata

  • Download URL: uv-0.1.3.tar.gz
  • Upload date:
  • Size: 1.5 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.3.tar.gz
Algorithm Hash digest
SHA256 d79d1306036eb09163ffb5793eb34c993f96327663210370c99d0403ee93ed60
MD5 4ec79b7bcaa8d9f90130e73cf100d867
BLAKE2b-256 858f7e2bc354e12199e0349c8f8ee28d92fefeebe7c21c516fcc81c5c731395e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uv-0.1.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 3247e39de2b0145e7aed55bbc2da26b200e58d9d2228ac2f5854d0d0e76134d7
MD5 94f9e0618b8bd1acdcb02e26823154fc
BLAKE2b-256 5dea739bb90473ce25f1a20c7e128957acee026cb7eab18c86a282266e52759f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.3-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.3-py3-none-win32.whl
Algorithm Hash digest
SHA256 fea3cc49a27c60832d4d0b1241d187eb54daaf5e4247e428539ada7ab0fe76a0
MD5 a74d9eab923626e383dfaa773df364b7
BLAKE2b-256 9641955e25e05718f6097ab228fa7c3c0037a6b97334d22a0d27350bd62a666d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.3-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.3-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7ef94230db9f33ecf411d77506e95648d1e6e9ba15cc136b155ad5ad6f329c1d
MD5 92ebee2caf641a1329eb37eb75e5b395
BLAKE2b-256 81d4a779b62cf546b7314bbf33b395c93bab3c2aeaab63345877b8c5de018af4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.3-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 9.7 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.3-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7ae92b1c1eda3d856d18809d07609c91bb3893a5caad7bcc4b73bc6e638cb466
MD5 22de38fd61af1be57db19c9358c42b34
BLAKE2b-256 13fc7a4b82317c1af3da3aadf8cdf785ac54d84e37034671d0848ce813840021

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.3-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.3-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 094c6747c2f5703a33935f086003bb8b251ed4f4caf80ced67262f284e4249b6
MD5 90e5ac90c8fc575703d70e4bc35b1ba5
BLAKE2b-256 d9309ca3b7d92250e2f083723141c3ff50c4d1d81516459906531c9ec3040b50

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.3-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.3-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 124309b151c50e339a5293b0c9cafbb314103148a059a59228c3f681fad210f6
MD5 cda966392584e8484e75e4b3e7122071
BLAKE2b-256 6360fd2802c7aa5f5c9367c07afbc3dd74dfecd851a0153bd9114e650d0e5557

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.3-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.3-py3-none-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 ca4446fe7df353dc2c87c4abcfc46ce6c575468325365a8bc2c23f29b6e90e6d
MD5 e6970b3e65ebf18101072ac03ee62e46
BLAKE2b-256 35bff86e40894fa982422634f7e483879fb3440348d1ebfa46c26bf3c4127290

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.3-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.3-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 00ab98ff1455d8fb153608110d911d23f8133c686181e12cfa20ee4b59624ecb
MD5 8391faca533b1cc54678d57caf7b8e38
BLAKE2b-256 cdc3f892035665dd09989f9dfd5e5159eab3ab69927d9a0996c179d81b8f12dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 41584893394e4ecfbd303477cbe24c39cc435297ab3ce1376237b766804be537
MD5 4dba76fd30705b7f9223bd7b03cf18a4
BLAKE2b-256 227d40fbcdaa0adf5b2d8baed2c20c11ba7c67c08d8c62ba1a5f2da7f319e71e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 9dc13da9f1b40e17c6575393ede1567f1d2c20b65d70d344da5237da9f0460e3
MD5 a60105e20f73036c02237a139c3cb73e
BLAKE2b-256 e4ae565f3773ad4e19901a99897349eec47698039c274611f532603aef08cb31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3393291b15ea975c8ad63fc661da99a1af249236678e75d066d52b784e7103bc
MD5 66ecad4feecd577381a6645aed419f49
BLAKE2b-256 266da2526d1dcbc74b516704df103672b90f2f58a86b0fb0dff9673f21ccd1d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 641c23f91cf3d8a10a2694baedac7ec2c6107d96f9848938628e08d7157091aa
MD5 6dae956e8e22fa8676f5bc84ea197428
BLAKE2b-256 a4e20874e81018bd76e14937dd11fe3518b5a2123d5f1a080d948a08b60bae48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 db0325a0f815d7bf01aa9fbc35a6d418a6f1de6e3ae3a5a20bdea50d4f848c34
MD5 539f84ee414cf05bf336bb7a3d1d520f
BLAKE2b-256 5fb9def5264cf104668c8ea45d5eff628c9d714d3d2caa4bbbcf4a4b9b53035e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.3-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.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cfe3742bf1b16a95703c92f32d7c4389c7479df0c984597b2b5053c38387c7a1
MD5 dddefe240bd5a81043544a9dcc2f823b
BLAKE2b-256 7b4790716bb759c34108b6ccd44445fe5e6b8373337ff0b03187e79d99b9630f

See more details on using hashes here.

File details

Details for the file uv-0.1.3-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.3-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 d76fae2b0a31ad53363829e45012101fdfbb6ffec0a8e26cbc7abf836f1d39dc
MD5 d9b2aa962a597580f3959bb4be67c20e
BLAKE2b-256 0ea8308ef179c43d7a6e0021126e214e6c5306076d9a2930c91fc54d10dcc87f

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