[build-system] requires = ["maturin>=1.0,<2.0"] build-backend = "maturin" [project] name = "uv" version = "0.7.18" 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 :: 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/trampolines/*", format = "sdist" }, { path = "LICENSE-APACHE", format = "sdist" }, { path = "LICENSE-MIT", format = "sdist" }, ] [tool.rooster] major_labels = [] # We do not use the major version number yet minor_labels = ["breaking"] changelog_ignore_labels = ["internal", "ci", "testing"] changelog_sections.breaking = "Breaking changes" changelog_sections.enhancement = "Enhancements" changelog_sections.compatibility = "Enhancements" changelog_sections.preview = "Preview features" changelog_sections.error_messages = "Enhancements" changelog_sections.cli = "Enhancements" changelog_sections.configuration = "Configuration" changelog_sections.performance = "Performance" changelog_sections.bug = "Bug fixes" changelog_sections.rustlib = "Rust API" changelog_sections.documentation = "Documentation" changelog_sections.__unknown__ = "Other changes" # We exclude contributors from the CHANGELOG file # Generate separately with `rooster contributors` for the GitHub release page changelog_contributors = false version_files = [ "README.md", "crates/uv/Cargo.toml", "crates/uv-version/Cargo.toml", "crates/uv-build/Cargo.toml", "crates/uv-build/pyproject.toml", "docs/getting-started/installation.md", "docs/guides/integration/docker.md", "docs/guides/integration/pre-commit.md", "docs/guides/integration/github.md", "docs/guides/integration/aws-lambda.md", "docs/concepts/build-backend.md", ] [tool.mypy] ignore_missing_imports = true files = [ "crates/uv-python/*.py", "python/uv/*.py", ] [tool.uv] managed = false