Adopt flit 4 as the provider distribution build backend - #71186
Open
potiuk wants to merge 1 commit into
Open
Conversation
flit build has no PEP 517 isolation, so the installed flit_core is what builds every provider distribution and the per-provider pin never applies. The floors in breeze were capped below 4 to stop that backend changing by accident; taking the cap off deliberately is what this does. Validated against the imap provider: wheel and sdist contents are identical to what 3.12.0 produces, and METADATA differs only by the intended metadata 2.5 additions - Import-Name and Import-Namespace. closes: #71121
potiuk
requested review from
Fokko,
RNHTTR,
amoghrajesh,
ashb,
bolkedebruin,
bugraoz93,
choo121600,
dabla,
dheerajturaga,
eladkal,
ephraimbuddy,
gopidesupavan,
hussein-awala,
jason810496,
jedcunningham,
josh-fell,
jscheffl,
kaxil,
mobuchowski,
o-nikolas,
shahar1,
vatsrahul1001 and
vincbeck
as code owners
August 5, 2026 15:15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
flit buildhas no PEP 517 build isolation —flit/wheel.pydoesimport flit_core.wheel as core_wheel, so the backend is whicheverflit_coreis installed. That makes theflit_core==pin every provider declares inert on the path we release from, and leaves breeze's own dependency as the only thing deciding it. The specifiers were capped below 4 so that backend could not change by accident; this takes the cap off deliberately.Validation
Built
apache-airflow-providers-imapwith 3.12.0 and with 4.0.2, sameSOURCE_DATE_EPOCH,--use-vcspassed explicitly in both:METADATAdiffers only by the intended additions:The metadata parses cleanly, so the 4.0.1 defect that cost
METADATAits header/body separator is confirmed fixed in 4.0.2.Floors, not bumped caps
The issue notes the hazard:
upgrade_important_versions.pyrewrites these by version number, so bumpingflit>=3.12.0,<4would have producedflit>=4.0.2,<4.flit,flit-coreand the 104 per-providerflit_core==pins now all move together at4.0.2, and the tracking comment at the cap site is removed.One addition the issue does not mention
flit 4.0.2 was published 2026-08-04, inside the
"4 days"exclude-newerwindow, souvrefuses it and the adoption would not take effect. A temporary per-package cutoff is added in both[tool.uv.exclude-newer-package]and[tool.uv.pip.exclude-newer-package], following the existingpydantic-ai-skillsprecedent, with a note to remove it once the rolling window advances past 2026-08-04.closes: #71121
Was generative AI tooling used to co-author this PR?
Generated-by: Claude Opus 5 (1M context) following the guidelines