Skip to content

Use simpler build backends for Python tooling - #1

Closed
AlexWaygood wants to merge 6 commits into
zaniebot:agent/no-build-by-defaultfrom
astral-sh:alex/reduce-hatchling-build-backends
Closed

Use simpler build backends for Python tooling#1
AlexWaygood wants to merge 6 commits into
zaniebot:agent/no-build-by-defaultfrom
astral-sh:alex/reduce-hatchling-build-backends

Conversation

@AlexWaygood

Copy link
Copy Markdown

Stacked on astral-sh#27861.

Summary

  • Switch python/ruff-ecosystem and scripts/ty_benchmark from Hatchling to uv_build, configuring each backend for its existing package layout.
  • Switch python/py-fuzzer to flit-core, which supports its existing standalone fuzz.py module.
  • Replace each inherited seven-package Hatchling build environment with one pinned backend dependency and update the affected lockfiles.
  • Preserve Ruff's Maturin backend and the parent branch's no-build policy.

@AlexWaygood
AlexWaygood marked this pull request as ready for review August 19, 2026 11:57
@zaniebot
zaniebot force-pushed the agent/no-build-by-default branch from 5b6f76b to 52c891a Compare August 19, 2026 13:57
ewdurbin and others added 2 commits August 19, 2026 10:04
## Summary

Use `gh pr merge --squash --admin` when merging the versions bot's
release-manifest PR. The `versions` ruleset requires human review but
grants `astral-versions-bot` a pull-request-only bypass. Plain `gh pr
merge` stops at its blocked-PR preflight check instead of attempting the
merge with that permission.

This completes the workflow-side change for
astral-sh/github-policies#31 and
astral-sh/github-policies#34. The failure was
observed in astral-sh/versions#163 ([release
job](https://github.com/astral-sh/ty/actions/runs/32198672332/job/95944618373)).
Older `npm` releases silently ignore the seven-day dependency cooldown
added in #27796. Require `npm` 11.10.0 or newer in the playground,
playground API, and ty benchmark projects, and enable `engine-strict` so
unsupported clients fail during `npm install` or `npm ci`. The lockfile
changes only record that requirement; dependency versions and the
existing cooldown are unchanged.

Pin Node.js to `24.19.0` for the playground CI and publishing jobs,
which provides a compatible bundled `npm`. The separate script-default
changes are in #27837, and the locked playground deployment tool is in
#27838.

Related: #27855 pins the remaining WebAssembly test and
publication runtimes. astral-sh/setup-uv#1026 and
astral-sh/ruff-action#411 enforce the same legacy-aware `npm` version
floor. astral-sh/uv#21193 applies it to uv's locked formatter toolchain.

---------

Co-authored-by: zaniebot <242828183+zaniebot@users.noreply.github.com>
@zaniebot
zaniebot force-pushed the agent/no-build-by-default branch from 52c891a to 80c7281 Compare August 19, 2026 14:07
renovate Bot and others added 3 commits August 19, 2026 16:28
Python tooling can currently build third-party source distributions. Set
`no-build` in the maintained Python projects and PEP 723 scripts,
retaining named exceptions for Git-pinned tooling and the local
ecosystem runner. Pin the isolated build dependencies for those
exceptions, including their transitive requirements.

Follows merged #27856, which gives the legacy `ruff-lsp`
suite a dedicated, locked Python 3.12 test environment.

Follow-up to #27843. Replaces #27840, which
closed when the merged docs branch was deleted.

Co-authored-by: zaniebot <242828183+zaniebot@users.noreply.github.com>
The playground workflows disable dependency lifecycle scripts, but
ordinary local installs in the playground, its API, and the ty benchmark
project still enable them. Set `ignore-scripts` in each project's
`.npmrc` so the same default applies outside CI, while preserving the
existing seven-day release-age policy. Because `ignore-scripts` also
suppresses first-party pre/post hooks, the playground's `build`,
`dev:build`, and `start` commands invoke their required WASM preparation
explicitly. The datastore instructions now install from the API lockfile
and invoke its local Wrangler instead of allowing `npx` to resolve a
separate dependency tree.

Related: astral-sh/ruff-vscode#1151 and astral-sh/ty-vscode#525 apply
the same install-script default to the editor extensions.
#27844 enforces the cooldown-supporting `npm` floor,
#27842 hardens the native `prek` formatter environment,
and #27838 locks the playground deployment toolchain.

---------

Co-authored-by: zaniebot <242828183+zaniebot@users.noreply.github.com>
@AlexWaygood
AlexWaygood force-pushed the alex/reduce-hatchling-build-backends branch 2 times, most recently from aecca51 to 6a01e1e Compare August 19, 2026 14:40
@AlexWaygood
AlexWaygood force-pushed the alex/reduce-hatchling-build-backends branch from 6a01e1e to e53185e Compare August 19, 2026 14:43
@AlexWaygood

Copy link
Copy Markdown
Author

turned this into astral-sh#27886

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants