[package]
name = "uv"
version = "0.1.22"
edition = { workspace = true }
rust-version = { workspace = true }
homepage = { workspace = true }
documentation = { workspace = true }
repository = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
default-run = "uv"

[lints]
workspace = true

[dependencies]
distribution-filename = { path = "../distribution-filename" }
distribution-types = { path = "../distribution-types" }
install-wheel-rs = { path = "../install-wheel-rs", features = ["clap"], default-features = false }
pep440_rs = { path = "../pep440-rs" }
pep508_rs = { path = "../pep508-rs" }
platform-tags = { path = "../platform-tags" }
pypi-types = { path = "../pypi-types" }
requirements-txt = { path = "../requirements-txt", features = ["reqwest"] }
uv-auth = { path = "../uv-auth", features = ["clap"] }
uv-build = { path = "../uv-build" }
uv-cache = { path = "../uv-cache", features = ["clap"] }
uv-client = { path = "../uv-client" }
uv-dispatch = { path = "../uv-dispatch" }
uv-distribution = { path = "../uv-distribution" }
uv-fs = { path = "../uv-fs" }
uv-installer = { path = "../uv-installer" }
uv-interpreter = { path = "../uv-interpreter" }
uv-normalize = { path = "../uv-normalize" }
uv-resolver = { path = "../uv-resolver", features = ["clap"] }
uv-traits = { path = "../uv-traits" }
uv-version = { path = "../uv-version" }
uv-virtualenv = { path = "../uv-virtualenv" }
uv-warnings = { path = "../uv-warnings" }

anstream = { workspace = true }
anyhow = { workspace = true }
base64 = { workspace = true }
chrono = { workspace = true }
clap = { workspace = true, features = ["derive", "string"] }
clap_complete_command = { workspace = true }
console = { workspace = true }
ctrlc = { workspace = true }
dunce = { workspace = true }
flate2 = { workspace = true, default-features = false }
fs-err = { workspace = true, features = ["tokio"] }
futures = { workspace = true }
indexmap = { workspace = true }
indicatif = { workspace = true }
itertools = { workspace = true }
miette = { workspace = true, features = ["fancy"] }
owo-colors = { workspace = true }
pubgrub = { workspace = true }
pyproject-toml = { workspace = true }
rustc-hash = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
tempfile = { workspace = true }
textwrap = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true }
toml = { workspace = true }
tracing = { workspace = true }
tracing-durations-export = { workspace = true, features = ["plot"], optional = true }
tracing-subscriber = { workspace = true, features = ["json"] }
tracing-tree = { workspace = true }
unicode-width = { workspace = true }
url = { workspace = true }
which = { workspace = true }

[target.'cfg(target_os = "windows")'.dependencies]
mimalloc = { version = "0.1.39" }

[target.'cfg(all(not(target_os = "windows"), not(target_os = "openbsd"), any(target_arch = "x86_64", target_arch = "aarch64", target_arch = "powerpc64")))'.dependencies]
tikv-jemallocator = { version = "0.5.4" }

[dev-dependencies]
assert_cmd = { version = "2.0.14" }
assert_fs = { version = "1.1.0" }
byteorder = { version = "1.5.0" }
filetime = { version = "0.2.23" }
indoc = { version = "2.0.4" }
insta = { version = "1.36.1", features = ["filters", "json"] }
predicates = { version = "3.0.4" }
regex = { version = "1.10.3" }
reqwest = { version = "0.11.23", features = ["blocking"], default-features = false }

[features]
default = ["flate2/zlib-ng", "python", "pypi", "git", "maturin"]
# Introduces a dependency on a local Python installation.
python = []
# Introduces a dependency on PyPI.
pypi = []
# Introduces a dependency on Git.
git = []
# Introduces a dependency on Maturin.
maturin = []

[build-dependencies]
fs-err = { workspace = true }
