[package]
edition = "2024"
rust-version = "1.91"
name = "uv-client"
version = "0.0.16"
authors = ["uv"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "This is an internal component crate of uv"
homepage = "https://pypi.org/project/uv/"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/astral-sh/uv"
resolver = "2"
[lib]
name = "uv_client"
path = "src/lib.rs"
doctest = false
[[test]]
name = "it"
path = "tests/it/main.rs"
[dependencies.anyhow]
version = "1.0.89"
[dependencies.astral-tl]
version = "0.7.11"
[dependencies.async-trait]
version = "0.1.82"
[dependencies.async_http_range_reader]
version = "0.9.1"
package = "astral_async_http_range_reader"
[dependencies.async_zip]
version = "0.0.17"
features = [
"bzip2",
"deflate",
"lzma",
"tokio",
"xz",
"zstd",
]
package = "astral_async_zip"
[dependencies.bytecheck]
version = "0.8.0"
[dependencies.fs-err]
version = "3.0.0"
features = [
"tokio",
"tokio",
]
[dependencies.futures]
version = "0.3.30"
[dependencies.h2]
version = "0.4.7"
[dependencies.html-escape]
version = "0.2.13"
[dependencies.http]
version = "1.1.0"
[dependencies.itertools]
version = "0.14.0"
[dependencies.jiff]
version = "0.2.0"
features = ["serde"]
[dependencies.percent-encoding]
version = "2.3.1"
[dependencies.reqwest]
version = "0.12.22"
features = [
"json",
"gzip",
"deflate",
"zstd",
"stream",
"system-proxy",
"rustls-tls",
"rustls-tls-native-roots",
"socks",
"multipart",
"http2",
"blocking",
]
default-features = false
[dependencies.reqwest-middleware]
version = "0.4.2"
features = ["multipart"]
package = "astral-reqwest-middleware"
[dependencies.reqwest-retry]
version = "0.8.0"
package = "astral-reqwest-retry"
[dependencies.rkyv]
version = "0.8.14"
features = ["bytecheck"]
[dependencies.rmp-serde]
version = "1.3.0"
[dependencies.rustc-hash]
version = "2.0.0"
[dependencies.serde]
version = "1.0.210"
features = [
"derive",
"rc",
]
[dependencies.serde_json]
version = "1.0.128"
[dependencies.sys-info]
version = "0.9.1"
[dependencies.thiserror]
version = "2.0.0"
[dependencies.tokio]
version = "1.40.0"
features = [
"fs",
"io-util",
"macros",
"process",
"rt",
"signal",
"sync",
"time",
]
[dependencies.tokio-util]
version = "0.7.12"
features = [
"compat",
"io",
]
[dependencies.tracing]
version = "0.1.40"
[dependencies.url]
version = "2.5.2"
features = ["serde"]
[dependencies.uv-auth]
version = "0.0.16"
[dependencies.uv-cache]
version = "0.0.16"
[dependencies.uv-cache-key]
version = "0.0.16"
[dependencies.uv-configuration]
version = "0.0.16"
[dependencies.uv-distribution-filename]
version = "0.0.16"
[dependencies.uv-distribution-types]
version = "0.0.16"
[dependencies.uv-fs]
version = "0.0.16"
features = [
"serde",
"tokio",
"tokio",
]
[dependencies.uv-metadata]
version = "0.0.16"
[dependencies.uv-normalize]
version = "0.0.16"
[dependencies.uv-pep440]
version = "0.0.16"
features = [
"tracing",
"rkyv",
"version-ranges",
]
[dependencies.uv-pep508]
version = "0.0.16"
features = ["non-pep508-extensions"]
[dependencies.uv-platform-tags]
version = "0.0.16"
[dependencies.uv-preview]
version = "0.0.16"
[dependencies.uv-pypi-types]
version = "0.0.16"
[dependencies.uv-redacted]
version = "0.0.16"
[dependencies.uv-small-str]
version = "0.0.16"
[dependencies.uv-static]
version = "0.0.16"
[dependencies.uv-torch]
version = "0.0.16"
[dependencies.uv-version]
version = "0.9.27"
[dependencies.uv-warnings]
version = "0.0.16"
[dev-dependencies.anyhow]
version = "1.0.89"
[dev-dependencies.http-body-util]
version = "0.1.2"
[dev-dependencies.hyper]
version = "1.4.1"
features = [
"server",
"http1",
]
[dev-dependencies.hyper-util]
version = "0.1.8"
features = [
"tokio",
"server",
"http1",
]
[dev-dependencies.insta]
version = "1.40.0"
features = [
"json",
"filters",
"redactions",
]
[dev-dependencies.rcgen]
version = "0.14.5"
features = [
"crypto",
"pem",
"ring",
]
default-features = false
[dev-dependencies.rustls]
version = "0.23.29"
default-features = false
[dev-dependencies.tempfile]
version = "3.14.0"
[dev-dependencies.tokio]
version = "1.40.0"
features = [
"fs",
"io-util",
"macros",
"process",
"rt",
"signal",
"sync",
"time",
]
[dev-dependencies.tokio-rustls]
version = "0.26.2"
default-features = false
[dev-dependencies.wiremock]
version = "0.6.4"
[lints.clippy]
char_lit_as_u8 = "allow"
collapsible_else_if = "allow"
collapsible_if = "allow"
dbg_macro = "warn"
empty_drop = "warn"
empty_structs_with_brackets = "warn"
exit = "warn"
get_unwrap = "warn"
if_not_else = "allow"
implicit_hasher = "allow"
large_stack_arrays = "allow"
map_unwrap_or = "allow"
match_same_arms = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
print_stderr = "warn"
print_stdout = "warn"
rc_buffer = "warn"
rc_mutex = "warn"
rest_pat_in_fully_bound_structs = "warn"
similar_names = "allow"
struct_excessive_bools = "allow"
too_many_arguments = "allow"
too_many_lines = "allow"
use_self = "warn"
used_underscore_binding = "allow"
[lints.clippy.pedantic]
level = "warn"
priority = -2
[lints.rust]
unreachable_pub = "warn"
unsafe_code = "warn"