You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "potiuk (via GitHub)" <gi...@apache.org> on 2026/08/05 15:15:43 UTC

[PR] Adopt flit 4 as the provider distribution build backend [airflow]

potiuk opened a new pull request, #71186:
URL: https://github.com/apache/airflow/pull/71186

   `flit build` has no PEP 517 build isolation — `flit/wheel.py` does `import flit_core.wheel as core_wheel`, so the backend is whichever `flit_core` is installed. That makes the `flit_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-imap` with 3.12.0 and with 4.0.2, same `SOURCE_DATE_EPOCH`, `--use-vcs` passed explicitly in both:
   
   - wheel members identical — 13 files
   - sdist members identical — 33 entries
   - `METADATA` differs only by the intended additions:
   
   ```diff
   -Metadata-Version: 2.4
   +Metadata-Version: 2.5
   +Import-Name: airflow.providers.imap
   +Import-Namespace: airflow
   +Import-Namespace: airflow.providers
   ```
   
   The metadata parses cleanly, so the 4.0.1 defect that cost `METADATA` its header/body separator is confirmed fixed in 4.0.2.
   
   ### Floors, not bumped caps
   
   The issue notes the hazard: `upgrade_important_versions.py` rewrites these by version number, so bumping `flit>=3.12.0,<4` would have produced `flit>=4.0.2,<4`. `flit`, `flit-core` and the 104 per-provider `flit_core==` pins now all move together at `4.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-newer` window, so `uv` refuses 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 existing `pydantic-ai-skills` precedent, 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?
   
   - [X] Yes — Claude Opus 5 (1M context)
   
   Generated-by: Claude Opus 5 (1M context) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Adopt flit 4 as the provider distribution build backend [airflow]

Posted by "Lee-W (via GitHub)" <gi...@apache.org>.
Lee-W merged PR #71186:
URL: https://github.com/apache/airflow/pull/71186


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Adopt flit 4 as the provider distribution build backend [airflow]

Posted by "Lee-W (via GitHub)" <gi...@apache.org>.
Lee-W commented on code in PR #71186:
URL: https://github.com/apache/airflow/pull/71186#discussion_r3756664500


##########
pyproject.toml:
##########
@@ -1561,6 +1561,14 @@ apache-airflow-task-sdk-integration-tests = false
 # Remove once the rolling window advances past 2026-07-15.
 pydantic-ai-skills = "2026-07-16T00:00:00Z"
 
+# Temporary: flit / flit-core 4.0.2 were published 2026-08-04, inside the "4 days"
+# exclude-newer window. `flit build` has no PEP 517 isolation, so the installed flit_core
+# is the backend that builds every provider distribution - it has to be resolvable for the
+# 4.x adoption to take effect. Pins the per-package cutoff just past that release.
+# Remove once the rolling window advances past 2026-08-04.
+flit = "2026-08-05T00:00:00Z"
+flit-core = "2026-08-05T00:00:00Z"
+

Review Comment:
   ```suggestion
   ```
   
   It's Aug 11th now. I think we can remove it.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org