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 common pip and pip-tools workflows.

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

While uv supports a large subset of the pip interface, it does not support the entire feature set. In some cases, those differences are intentional; in others, they're a result of uv's early stage of development.

For details, see our pip compatibility guide.

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.
  • The Python interpreter available as python3 on macOS and Linux, or python.exe on Windows.
  • On Windows, the Python interpreter returned by py --list-paths that matches the requested version.

Installing into arbitrary Python environments

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.

uv can also install into arbitrary, even 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.

Installing into system Python across platforms and distributions is notoriously difficult. uv supports the common cases, but will not work in all cases. For example, installing into system Python on Debian prior to Python 3.10 is unsupported due to the distribution's patching of distutils (but not sysconfig). While we always recommend the use of virtual environments, uv considers them to be required in these non-standard 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.

HTTP authentication

uv supports credentials over HTTP when querying package registries.

Authentication can come from the following sources, in order of precedence:

  • The URL, e.g., https://<user>:<password>@<hostname>/...
  • A netrc configuration file
  • A keyring provider (requires opt-in)

If authentication is found for a single net location (scheme, host, and port), it will be cached for the duration of the command and used for other queries to that net location. Authentication is not cached across invocations of uv.

Note --keyring-provider subprocess or UV_KEYRING_PROVIDER=subprocess must be provided to enable keyring-based authentication.

Authentication may be used for hosts specified in the following contexts:

  • index-url
  • extra-index-url
  • find-links
  • package @ https://...

See the pip compatibility guide for details on differences from pip.

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 opt-in for pre-releases, to ensure correctness.

For more, see "Pre-release compatibility"

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.

Reproducible resolution

uv supports an --exclude-newer option to limit resolution to distributions published before a specific date, allowing reproduction of installations regardless of new package releases. The date may be specified as a RFC 3339 timestamp (e.g., 2006-12-02T02:07:43Z) or UTC date in the same format (e.g., 2006-12-02).

Note the package index must support the upload-time field as specified in PEP 700. If the field is not present for a given distribution, the distribution will be treated as unavailable.

To ensure reproducibility, messages for unsatisfiable resolutions will not mention that distributions were excluded due to the --exclude-newer flag — newer distributions will be treated as if they do not exist.

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.

Environment variables

uv accepts the following command-line arguments as environment variables:

  • UV_INDEX_URL: Equivalent to the --index-url command-line argument. If set, uv will use this URL as the base index for searching for packages.
  • UV_EXTRA_INDEX_URL: Equivalent to the --extra-index-url command-line argument. If set, uv will use this space-separated list of URLs as additional indexes when searching for packages.
  • UV_CACHE_DIR: Equivalent to the --cache-dir command-line argument. If set, uv will use this directory for caching instead of the default cache directory.
  • UV_NO_CACHE: Equivalent to the --no-cache command-line argument. If set, uv will not use the cache for any operations.
  • UV_PRERELEASE: Equivalent to the --prerelease command-line argument. If set to allow, uv will allow pre-release versions for all dependencies.
  • UV_SYSTEM_PYTHON: Equivalent to the --system command-line argument. If set to true, uv will use the first Python interpreter found in the system PATH. WARNING: UV_SYSTEM_PYTHON=true is intended for use in continuous integration (CI) environments and should be used with caution, as it can modify the system Python installation.
  • UV_NATIVE_TLS: Equivalent to the --native-tls command-line argument. If set to true, uv will use the system's trust store instead of the bundled webpki-roots crate.

In each case, the corresponding command-line argument takes precedence over an environment variable.

In addition, uv respects the following environment variables:

  • SSL_CERT_FILE: If set, uv will use this file as the certificate bundle instead of the system's trust store.
  • RUST_LOG: If set, uv will use this value as the log level for its --verbose output. Accepts any filter compatible with the tracing_subscriber crate. For example, RUST_LOG=trace will enable trace-level logging. See the tracing documentation for more.
  • HTTP_TIMEOUT (or UV_HTTP_TIMEOUT): If set, uv will use this value (in seconds) as the timeout for HTTP requests.
  • PYC_INVALIDATION_MODE: The validation modes to use when run with --compile. See: PycInvalidationMode.
  • VIRTUAL_ENV: Used to detect an activated virtual environment.
  • CONDA_PREFIX: Used to detect an activated Conda environment.
  • PROMPT: Used to detect the appropriate activation script after generating a virtual environment.
  • NU_VERSION: Used to detect the appropriate activation script after generating a virtual environment.

Custom CA Certificates

By default, uv loads certificates from the bundled webpki-roots crate. The webpki-roots are a reliable set of trust roots from Mozilla, and including them in uv improves portability and performance (especially on macOS, where reading the system trust store incurs a significant delay).

However, in some cases, you may want to use the platform's native certificate store, especially if you're relying on a corporate trust root (e.g., for a mandatory proxy) that's included in your system's certificate store. To instruct uv to use the system's trust store, run uv with the --native-tls command-line flag, or set the UV_NATIVE_TLS environment variable to true.

If a direct path to the certificate is required (e.g., in CI), set the SSL_CERT_FILE environment variable to the path of the certificate bundle, to instruct uv to use that file instead of the system's trust store.

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.22.tar.gz (577.4 kB 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.22-py3-none-win_amd64.whl (8.9 MB view details)

Uploaded Python 3Windows x86-64

uv-0.1.22-py3-none-win32.whl (7.9 MB view details)

Uploaded Python 3Windows x86

uv-0.1.22-py3-none-musllinux_1_2_x86_64.whl (11.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

uv-0.1.22-py3-none-musllinux_1_2_i686.whl (10.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

uv-0.1.22-py3-none-musllinux_1_2_armv7l.whl (9.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

uv-0.1.22-py3-none-musllinux_1_2_aarch64.whl (10.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

uv-0.1.22-py3-none-manylinux_2_28_aarch64.whl (10.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

uv-0.1.22-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

uv-0.1.22-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (11.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

uv-0.1.22-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (11.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

uv-0.1.22-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (12.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64

uv-0.1.22-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (11.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

uv-0.1.22-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (9.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

uv-0.1.22-py3-none-macosx_10_12_x86_64.whl (10.2 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

uv-0.1.22-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (20.3 MB view details)

Uploaded Python 3macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

uv-0.1.22-py3-none-linux_armv6l.whl (9.4 MB view details)

Uploaded Python 3

File details

Details for the file uv-0.1.22.tar.gz.

File metadata

  • Download URL: uv-0.1.22.tar.gz
  • Upload date:
  • Size: 577.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for uv-0.1.22.tar.gz
Algorithm Hash digest
SHA256 144ffabe5f2519bf371bfd3db074b3d0952db31263fbd9b5b9a18efbc90ee772
MD5 7b41468e876bc8cb3aba32ee636ec361
BLAKE2b-256 25312b37caee71496246872db856bab7e8b691ed072a58172aa0814e47900e87

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uv-0.1.22-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f350292267f361c0aeb8c68f81e81d18e7eb383d8323dd10017ee93747471deb
MD5 13f16084c1bcda0bd281d6eac7b98b8c
BLAKE2b-256 f70d0a849450803fd7f26f47388b437b1d869db721f6297ff8017cfe4150bc30

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.22-py3-none-win32.whl
  • Upload date:
  • Size: 7.9 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for uv-0.1.22-py3-none-win32.whl
Algorithm Hash digest
SHA256 4d23fa6693d5026b45df75b996a3f43166d10caa690925f9ee55e2d5ff61cfa9
MD5 96be2bc1ad5b65e53575713829e8adaa
BLAKE2b-256 6abf242a87e8b2191d1d4a7eb4355d8f8f755cbbdb5001d87064915d652fd181

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.22-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 11.1 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for uv-0.1.22-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9c238d417a67aab57c2d407778c86078f92e12d127bc4076f5565a9203f3e4f5
MD5 3a9b6dc56e6db608a4dc5735c868eb76
BLAKE2b-256 66bfd5e6572cc4f420d4f312802a6ce6928bd4ceef0db64800d9bd1603fb79dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.22-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 10.6 MB
  • Tags: Python 3, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for uv-0.1.22-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 e83c858770ad2eced9750bd6b7aed320d74e4a35a9408895de506bbc7b11343c
MD5 eff54edda37a8419d6a9b5d419beb8f2
BLAKE2b-256 d410e2a5cb4f7bffbf8b7d25d60eb340988f49859a94bfb479c3d325b66b3ade

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.22-py3-none-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 9.3 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.0

File hashes

Hashes for uv-0.1.22-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 dee413bac546c359a37065e9b8ef1d48210517763000e569ed577745da11c321
MD5 8b00a8ae67455d5bf4631d3d345f17d5
BLAKE2b-256 eefa2cb4231930ee9e6edaca227f3ebbbd3db184fe161a87a5b627e97727a4f6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.22-py3-none-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 10.6 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for uv-0.1.22-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 275892300f842170eb03e15ee077d9f2327966d3e12048568230a13cd8de7ba5
MD5 7d704a37d4ae46b8048387f95f999999
BLAKE2b-256 aea6ead467b2c72efe991370b14569828bf028477fb57874f27791c36f6cd6c8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.22-py3-none-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: Python 3, manylinux: glibc 2.28+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for uv-0.1.22-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fa0f0eb1306082c65f042c4c54d6a7c1078b9b3ad65da4af7df11fba91848e21
MD5 ef2f6533888426bc4cb3273330c6e7db
BLAKE2b-256 e5575a03fc9f067a35f54941f0f441ebde43da883a8581a81d57301827aab8fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.22-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 baf5c2c0a1097dc29da6ab610c90b798d5e5e97aaace2e66cb474a8e2c1e0361
MD5 53f589523cd95997e1ff29d53c816b77
BLAKE2b-256 fe4e5dfe2f02c86f1505c09afbc6ab5c8be9c669773fee9354dc1cdbcf2e94ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.22-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 28ea7dd1e9048610a13b47976c3f45ab1cc99e96f085c9e6659f024b46dad870
MD5 35f91314e09a9ffccffe30a778215dde
BLAKE2b-256 428029cb27b5d9841bd89e8c7752d2f9a8ee679cb84eb7090920d76215017761

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.22-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 b86f7c1ccbffa34cf82d2b5ff6b8650d3a66f4b9496b8fd07b18420ae232ebd7
MD5 73c1de7b0296e7609044576f939b0dcc
BLAKE2b-256 c9de917762b2f7d1d0218cea07c2698aaa0d28349501a2fe7b4dac9d19846648

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.22-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 4936331140392c057e56e29751bcf0461ba5ec92592bf2082f7a85e8170c4051
MD5 b852e50c0369275ce6c8e2b506a2dea1
BLAKE2b-256 021e280137e4a2ac6fe3363f16e7b05fa2909817dcd9c1a5b0573ae7d53fc03e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uv-0.1.22-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 23ce9a081e046d40ea9582824f1ec1a64830e7292f5885b42526baa0d9d834e1
MD5 383ea40430f6b72009bfa9868c054126
BLAKE2b-256 8a17fab8abe3c4c96912eb79ef86dee0dd8dd8e41842acd5e0507083a00271ee

See more details on using hashes here.

File details

Details for the file uv-0.1.22-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for uv-0.1.22-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 9b0d5d062484dcf97e191d4a28de23974ba6a384315300f9a439268506460b7d
MD5 848a03965af664d3bdde933be68e9643
BLAKE2b-256 cc27a6e9be4d549606ca88c4b98fb3aa3c3fa1e2056a38dbc25be8fd46de5581

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv-0.1.22-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 10.2 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for uv-0.1.22-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fefb107a2fb4eac874cdf1066f8cc40c5112853890fa49520e13975a6ad2778a
MD5 4fcb111a467ddf000cce5ce7e39fb449
BLAKE2b-256 1c02c6e472b6d8724b96479d7cbef928206d731cda467618f4f099ee93ef8ceb

See more details on using hashes here.

File details

Details for the file uv-0.1.22-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.22-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 94f45b92d48489867c2b07a5ec2b1ead6994d46573f9066d3473e08a04f662e4
MD5 b1843c0d1ae399de0407539dee45043f
BLAKE2b-256 080a22ca7bad85ea4d7868fe726cfcafce528824c84e11b177c1453f0cf4f876

See more details on using hashes here.

File details

Details for the file uv-0.1.22-py3-none-linux_armv6l.whl.

File metadata

  • Download URL: uv-0.1.22-py3-none-linux_armv6l.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.0

File hashes

Hashes for uv-0.1.22-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 6ae068131fd255bf55f48c077e54558184a1a23fcefbb78de3189853d121cf29
MD5 63b07a8c957e4a8bfca14c9f30b8b9df
BLAKE2b-256 cdc8a419cefa26f237cf146b29ef4f441178dd1eedc64d403e2adb938607639c

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