[build-system] requires = ["maturin>=1.0,<2.0"] build-backend = "maturin" [project] name = "uv" version = "0.9.17" description = "An extremely fast Python package and project manager, written in Rust." authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }] requires-python = ">=3.8" keywords = [ "uv", "requirements", "packaging" ] classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Operating System :: OS Independent", "License :: OSI Approved :: MIT License", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Quality Assurance", "Topic :: Software Development :: Testing", "Topic :: Software Development :: Libraries", ] readme = "README.md" [project.urls] Repository = "https://github.com/astral-sh/uv" Documentation = "https://docs.astral.sh/uv" Changelog = "https://github.com/astral-sh/uv/blob/main/CHANGELOG.md" Releases = "https://github.com/astral-sh/uv/releases" Discord = "https://discord.gg/astral-sh" [tool.maturin] bindings = "bin" manifest-path = "crates/uv/Cargo.toml" module-name = "uv" python-source = "python" strip = true include = [ { path = "rust-toolchain.toml", format = ["sdist", "wheel"] }, # this one isn't discovered by maturin because it's behind a feature flag { path = "crates/uv-performance-memory-allocator/**/*", format = ["sdist", "wheel"] }, { path = "crates/uv-trampoline-builder/trampolines/*", format = "sdist" }, { path = "LICENSE-APACHE", format = "sdist" }, { path = "LICENSE-MIT", format = "sdist" }, ] [tool.rooster] changelog-contributors = false # We exclude contributors from the CHANGELOG file major-labels = [] # We do not use the major version number yet minor-labels = ["breaking"] ignore-labels = ["internal", "ci", "testing"] version_files = [ "README.md", "pyproject.toml", "crates/uv/Cargo.toml", "crates/uv-version/Cargo.toml", "crates/uv-build/Cargo.toml", "crates/uv-build/pyproject.toml", { target = "crates/uv-static/src/env_vars.rs", replace = "next release" }, "docs/getting-started/installation.md", "docs/guides/integration/docker.md", "docs/guides/integration/pre-commit.md", "docs/guides/integration/github.md", "docs/guides/integration/gitlab.md", "docs/guides/integration/aws-lambda.md", "docs/concepts/build-backend.md", "docs/concepts/projects/init.md", "docs/concepts/projects/workspaces.md", { target = "docs/reference/environment.md", replace = "next release" }, ] [tool.rooster.section-labels] "Breaking changes" = ["breaking"] "Enhancements" = ["enhancement", "compatibility", "error messages"] "Preview features" = ["preview"] "Configuration" = ["configuration"] "Performance" = ["performance"] "Bug fixes" = ["bug"] "Rust API" = ["rustlib"] "Documentation" = ["documentation"] "Other changes" = ["__unknown__"] [tool.mypy] ignore_missing_imports = true files = [ "crates/uv-python/*.py", "python/uv/*.py", ] [tool.uv] managed = false