# Hash-locked closure of the build backend, for installs that must not resolve.
#
# `--no-deps` does not disable PEP 517 build isolation, and `PIP_CONSTRAINT`
# does not reach an isolated build environment on current pip: constraining
# hatchling to a version that does not exist still built successfully. So the
# editable install that CI and release verification perform was resolving its
# backend — and the backend's own dependencies — fresh from the index on every
# run, which is exactly the drift constraints/dev.txt exists to remove.
#
# This file is that backend's whole closure, pinned and hashed. Installing it
# first is what makes `--no-build-isolation` possible:
#
#     python -m pip install --require-hashes --requirement constraints/dev.txt
#     python -m pip install --require-hashes --requirement constraints/build-backend.txt
#     python -m pip install -e . --no-deps --no-build-isolation
#
# Compiled from constraints/release-build.txt, so the backend version lives in
# exactly one hand-maintained place and the reproducibility argument recorded
# there governs this file too. Every distribution named here that is also in
# constraints/dev.txt must be pinned to the same version, or the second install
# would silently move the first one's closure;
# scripts/verify_dependency_lock.py enforces that.
#
# Regenerate with:
#
#     python scripts/update_locks.py constraints/build-backend.txt
#     python scripts/verify_dependency_lock.py
#
# (that runs `uv pip compile --universal --generate-hashes` and restores this
# header, which the compiler would otherwise overwrite.)
#
# --- generated: the declarations this lock was compiled from ---
#
# Compared against the source by scripts/verify_dependency_lock.py, so a
# changed extra, marker, URL or range cannot slip past without recompiling.
#
#   declares: hatchling==1.32.4
#
hatchling==1.32.4 \
    --hash=sha256:08ecf7548fb48205e7f213d70c71e67b8271b7242093dc3f1da578b42c734a2c \
    --hash=sha256:c4468f73144c054d2aab4ef0f0378c43b9878bf07f8ffd6b79690e970d375f07
    # via -r constraints/release-build.txt
packaging==26.3 \
    --hash=sha256:94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79 \
    --hash=sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c
    # via hatchling
pathspec==1.1.1 \
    --hash=sha256:17db5ecd524104a120e173814c90367a96a98d07c45b2e10c2f3919fff91bf5a \
    --hash=sha256:a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189
    # via hatchling
pluggy==1.7.0 \
    --hash=sha256:7dd7b0d8832ba3cb632c306926ded123429211b83641b35dc5c41ad2d34f9bec \
    --hash=sha256:d1eaa46ebb595891b860ab086b4d09c8588af65ebd4361b8e8f4bb8920b90ba8
    # via hatchling
tomlkit==0.15.2 \
    --hash=sha256:05562412163a3037b94497385fb7f9204c637bc605af7a48199e41cf2272f437 \
    --hash=sha256:83e32755ba1d20d9340bd069ee97e9f6232ba2346b63ffcba425de01f7e327a6
    # via hatchling
trove-classifiers==2026.9.21.13 \
    --hash=sha256:0a9ebc8d4e2f3e8a22848c5258033035bec17a3012ac3fea16dbaa764489eb71 \
    --hash=sha256:8b1ff4f9c191b1040b71c37f1e445ab99732911e3cd91de52838453a854d7a17
    # via hatchling
