[package]
edition = "2024"
rust-version = "1.91"
name = "uv"
version = "0.10.0"
authors = ["uv"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "uv"
description = "A Python package and project manager"
homepage = "https://pypi.org/project/uv/"
documentation = "https://docs.astral.sh/uv"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/astral-sh/uv"
resolver = "2"
[package.metadata.dist]
dist = true
[features]
default = [
"performance",
"uv-distribution/static",
"test-defaults",
]
native-auth = []
performance = ["performance-memory-allocator"]
performance-memory-allocator = ["dep:uv-performance-memory-allocator"]
self-update = [
"axoupdater",
"uv-cli/self-update",
]
test-crates-io = []
test-defaults = [
"test-crates-io",
"test-git",
"test-git-lfs",
"test-pypi",
"test-r2",
"test-python",
"test-python-managed",
"test-python-eol",
"test-slow",
"test-ecosystem",
]
test-ecosystem = []
test-git = []
test-git-lfs = ["test-git"]
test-pypi = []
test-python = []
test-python-eol = []
test-python-managed = []
test-python-patch = []
test-r2 = []
test-slow = []
tracing-durations-export = [
"dep:tracing-durations-export",
"uv-resolver/tracing-durations-export",
"uv-settings/tracing-durations-export",
]
windows-gui-bin = []
[lib]
name = "uv"
path = "src/lib.rs"
[[bin]]
name = "uv"
path = "src/bin/uv.rs"
[[bin]]
name = "uvw"
path = "src/bin/uvw.rs"
required-features = ["windows-gui-bin"]
[[bin]]
name = "uvx"
path = "src/bin/uvx.rs"
[[test]]
name = "it"
path = "tests/it/main.rs"
[dependencies.anstream]
version = "0.6.15"
[dependencies.anyhow]
version = "1.0.89"
[dependencies.axoupdater]
version = "0.9.0"
features = [
"github_releases",
"tokio",
]
optional = true
default-features = false
[dependencies.clap]
version = "4.5.17"
features = [
"derive",
"env",
"string",
"wrap_help",
"derive",
"string",
"wrap_help",
]
[dependencies.console]
version = "0.16.0"
features = ["std"]
default-features = false
[dependencies.ctrlc]
version = "3.4.5"
[dependencies.diskus]
version = "0.9.0"
default-features = false
[dependencies.dotenvy]
version = "0.15.7"
[dependencies.dunce]
version = "1.0.5"
[dependencies.fs-err]
version = "3.2.2"
features = [
"tokio",
"tokio",
]
[dependencies.futures]
version = "0.3.30"
[dependencies.http]
version = "1.1.0"
[dependencies.indexmap]
version = "2.5.0"
[dependencies.indicatif]
version = "0.18.0"
[dependencies.indoc]
version = "2.0.5"
[dependencies.itertools]
version = "0.14.0"
[dependencies.miette]
version = "7.2.0"
features = [
"fancy-no-backtrace",
"fancy-no-backtrace",
]
[dependencies.open]
version = "5.3.2"
[dependencies.owo-colors]
version = "4.1.0"
[dependencies.petgraph]
version = "0.8.0"
[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.rkyv]
version = "0.8.14"
features = ["bytecheck"]
[dependencies.rustc-hash]
version = "2.0.0"
[dependencies.serde]
version = "1.0.210"
features = [
"derive",
"rc",
]
[dependencies.serde_json]
version = "1.0.128"
[dependencies.tempfile]
version = "3.14.0"
[dependencies.textwrap]
version = "0.16.1"
[dependencies.thiserror]
version = "2.0.0"
[dependencies.tokio]
version = "1.40.0"
features = [
"fs",
"io-util",
"macros",
"process",
"rt",
"signal",
"sync",
"time",
]
[dependencies.toml]
version = "0.9.2"
features = ["fast_hash"]
[dependencies.toml_edit]
version = "0.24.0"
features = ["serde"]
[dependencies.tracing]
version = "0.1.40"
[dependencies.tracing-durations-export]
version = "0.3.0"
features = [
"plot",
"plot",
]
optional = true
[dependencies.tracing-subscriber]
version = "0.3.18"
features = [
"env-filter",
"json",
"registry",
]
[dependencies.tracing-tree]
version = "0.4.0"
[dependencies.unicode-width]
version = "0.2.0"
[dependencies.url]
version = "2.5.2"
features = ["serde"]
[dependencies.uuid]
version = "1.16.0"
features = ["v4"]
[dependencies.uv-auth]
version = "0.0.20"
[dependencies.uv-bin-install]
version = "0.0.20"
[dependencies.uv-build-backend]
version = "0.0.20"
[dependencies.uv-build-frontend]
version = "0.0.20"
[dependencies.uv-cache]
version = "0.0.20"
[dependencies.uv-cache-info]
version = "0.0.20"
[dependencies.uv-cache-key]
version = "0.0.20"
[dependencies.uv-cli]
version = "0.0.20"
[dependencies.uv-client]
version = "0.0.20"
[dependencies.uv-configuration]
version = "0.0.20"
[dependencies.uv-console]
version = "0.0.20"
[dependencies.uv-dispatch]
version = "0.0.20"
[dependencies.uv-distribution]
version = "0.0.20"
[dependencies.uv-distribution-filename]
version = "0.0.20"
[dependencies.uv-distribution-types]
version = "0.0.20"
[dependencies.uv-extract]
version = "0.0.20"
[dependencies.uv-flags]
version = "0.0.20"
[dependencies.uv-fs]
version = "0.0.20"
features = [
"serde",
"tokio",
]
[dependencies.uv-git]
version = "0.0.20"
[dependencies.uv-git-types]
version = "0.0.20"
[dependencies.uv-install-wheel]
version = "0.0.20"
default-features = false
[dependencies.uv-installer]
version = "0.0.20"
[dependencies.uv-logging]
version = "0.0.20"
[dependencies.uv-normalize]
version = "0.0.20"
[dependencies.uv-pep440]
version = "0.0.20"
features = [
"tracing",
"rkyv",
"version-ranges",
]
[dependencies.uv-pep508]
version = "0.0.20"
features = ["non-pep508-extensions"]
[dependencies.uv-performance-memory-allocator]
version = "0.0.20"
optional = true
[dependencies.uv-platform]
version = "0.0.20"
[dependencies.uv-platform-tags]
version = "0.0.20"
[dependencies.uv-preview]
version = "0.0.20"
[dependencies.uv-publish]
version = "0.0.20"
[dependencies.uv-pypi-types]
version = "0.0.20"
[dependencies.uv-python]
version = "0.0.20"
features = ["schemars"]
[dependencies.uv-redacted]
version = "0.0.20"
[dependencies.uv-requirements]
version = "0.0.20"
[dependencies.uv-requirements-txt]
version = "0.0.20"
[dependencies.uv-resolver]
version = "0.0.20"
[dependencies.uv-scripts]
version = "0.0.20"
[dependencies.uv-settings]
version = "0.0.20"
features = ["schemars"]
[dependencies.uv-shell]
version = "0.0.20"
[dependencies.uv-static]
version = "0.0.20"
[dependencies.uv-tool]
version = "0.0.20"
[dependencies.uv-torch]
version = "0.0.20"
[dependencies.uv-trampoline-builder]
version = "0.0.20"
[dependencies.uv-types]
version = "0.0.20"
[dependencies.uv-version]
version = "0.10.0"
[dependencies.uv-virtualenv]
version = "0.0.20"
[dependencies.uv-warnings]
version = "0.0.20"
[dependencies.uv-workspace]
version = "0.0.20"
features = ["clap"]
[dependencies.version-ranges]
version = "0.1.3"
package = "astral-version-ranges"
[dependencies.walkdir]
version = "2.5.0"
[dependencies.which]
version = "8.0.0"
features = ["regex"]
[dependencies.zip]
version = "2.2.3"
features = [
"deflate",
"zstd",
"bzip2",
"lzma",
"xz",
]
default-features = false
[dev-dependencies.assert_cmd]
version = "2.0.16"
[dev-dependencies.assert_fs]
version = "1.1.2"
[dev-dependencies.backon]
version = "1.3.0"
[dev-dependencies.base64]
version = "0.22.1"
[dev-dependencies.byteorder]
version = "1.5.0"
[dev-dependencies.bytes]
version = "1.10.1"
[dev-dependencies.filetime]
version = "0.2.25"
[dev-dependencies.flate2]
version = "1.0.33"
features = ["zlib-rs"]
default-features = false
[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.ignore]
version = "0.4.23"
[dev-dependencies.indoc]
version = "2.0.5"
[dev-dependencies.insta]
version = "1.40.0"
features = [
"json",
"filters",
"redactions",
]
[dev-dependencies.predicates]
version = "3.1.2"
[dev-dependencies.regex]
version = "1.10.6"
[dev-dependencies.reqwest]
version = "0.12.22"
features = [
"json",
"gzip",
"deflate",
"zstd",
"stream",
"system-proxy",
"rustls-tls",
"rustls-tls-native-roots",
"socks",
"multipart",
"http2",
"blocking",
"blocking",
]
default-features = false
[dev-dependencies.sha2]
version = "0.10.8"
[dev-dependencies.similar]
version = "2.6.0"
[dev-dependencies.tar]
version = "0.4.43"
[dev-dependencies.tempfile]
version = "3.14.0"
[dev-dependencies.tokio-stream]
version = "0.1.16"
[dev-dependencies.tokio-util]
version = "0.7.12"
features = [
"compat",
"io",
]
[dev-dependencies.uv-publish]
version = "0.0.20"
features = ["test"]
[dev-dependencies.whoami]
version = "2.0.0"
[dev-dependencies.wiremock]
version = "0.6.4"
[dev-dependencies.zip]
version = "2.2.3"
features = [
"deflate",
"zstd",
"bzip2",
"lzma",
"xz",
]
default-features = false
[build-dependencies.embed-manifest]
version = "1.5.0"
[build-dependencies.uv-static]
version = "0.0.20"
[build-dependencies.uv-version]
version = "0.10.0"
[target.'cfg(target_os = "windows")'.dependencies.arrayvec]
version = "0.7.6"
[target.'cfg(target_os = "windows")'.dependencies.self-replace]
version = "1.5.0"
[target.'cfg(target_os = "windows")'.dependencies.uv-windows]
version = "0.0.20"
[target.'cfg(target_os = "windows")'.dependencies.windows]
version = "0.61.0"
features = [
"std",
"Win32_Foundation",
"Win32_Globalization",
"Win32_Security",
"Win32_Storage_FileSystem",
"Win32_System_Console",
"Win32_System_Diagnostics_Debug",
"Win32_System_Environment",
"Win32_System_IO",
"Win32_System_Ioctl",
"Win32_System_JobObjects",
"Win32_System_Kernel",
"Win32_System_LibraryLoader",
"Win32_System_Registry",
"Win32_System_Threading",
"Win32_UI_WindowsAndMessaging",
]
[target."cfg(unix)".dependencies.nix]
version = "0.30.0"
features = [
"resource",
"signal",
]
[target."cfg(unix)".dependencies.uv-unix]
version = "0.0.20"
[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"