[build-system]
requires = ["maturin>=1.0,<2.0"]
build-backend = "maturin"

[project]
name = "uv"
version = "0.2.22"
description = "An extremely fast Python package installer and resolver, written in Rust."
authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }]
requires-python = ">=3.8"
keywords = [
  "uv", "requirements", "packaging"
]
classifiers = [
  "Development Status :: 4 - Beta",
  "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 :: 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://github.com/astral-sh/uv"

[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"] }, { 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.cli = "CLI"
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",
]
