Files
uv/pyproject.toml
T
konsti cb325e2e2f metadata_directory already contains dist-info directory (#10005)
From PEP 517:

```python
def prepare_metadata_for_build_wheel(metadata_directory, config_settings=None):
    ...
```

> Must create a .dist-info directory containing wheel metadata inside
the specified metadata_directory (i.e., creates a directory like
{metadata_directory}/{package}-{version}.dist-info/).

```python
def build_wheel(wheel_directory, config_settings=None, metadata_directory=None):
    ...
```

> If the build frontend has previously called
prepare_metadata_for_build_wheel and depends on the wheel resulting from
this call to have metadata matching this earlier call, then it should
provide the path to the created .dist-info directory as the
metadata_directory argument.

Notice that the `metadata_directory` is different for the both hooks:
For `prepare_metadata_for_build_wheel` is doesn't contain the
`.dist-info` directory as final segment, for `build_wheel` it does.

Previously, the code assumed that both directories didn't contain the
`.dist-info` for both cases.

Checked with:

```
maturin build
uv init test-uv-build-backend --build-backend uv
cd test-uv-build-backend
uv build --sdist --preview
cd ..
UV_PREVIEW=1 pip install test-uv-build-backend/dist/test_uv_build_backend-0.1.0.tar.gz --no-index --find-links target/wheels/ -v --no-cache-dir
```

Fixes #9969
2024-12-18 20:14:08 +01:00

97 lines
3.2 KiB
TOML

[build-system]
requires = ["maturin>=1.0,<2.0"]
build-backend = "maturin"
[project]
name = "uv"
version = "0.5.10"
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"
[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-performance-flate2-backend/**/*", 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",
"docs/getting-started/installation.md",
"docs/guides/integration/docker.md",
"docs/guides/integration/pre-commit.md",
"docs/guides/integration/github.md",
]
[tool.mypy]
ignore_missing_imports = true
files = [
"crates/uv-python/*.py",
"python/uv/*.py",
]
[tool.uv]
managed = false