Uh oh!
There was an error while loading. Please reload this page.
Add explicit [tool.flit.sdist] sections to flit-based pyproject.tomls - #65861
Conversation
ashb
left a comment
There was a problem hiding this comment.
One thing i do worry about with this is the chance of locally untracked files from the RMs making it to the release artifacts.
Is flit only changing the default, ) in which case can't we explicitly opt in?) or working towards removing vcs support?
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
potiuk
commented
Apr 26, 2026
It's only for sdist - not wheel but yes that is a valid concern. But in our release process we actualy do cleanup with And yes - it's just changing the default so if someone wants to use |
potiuk
commented
Apr 26, 2026
Checked - and added explicit (but also rather gentle - skipping .venv, .idea and .vscode) cleanup when preparing the packages. Now |
jscheffl
left a comment
There was a problem hiding this comment.
Thanks for the discussion, looks "good enough" for now.
…files Prepares for flit 4 making --no-use-vcs the default (pypa/flit#782, pypa/flit#673). With explicit sdist include lists, sdist contents no longer depend on git, which also fixes the worktree fail-fast case from apache#65771. The provider template emits namespace __init__.py lines based on provider-id depth (e.g. microsoft.azure also includes airflow/providers/microsoft/__init__.py). The 97 flit-based provider pyproject.toml files were regenerated from the updated template. dev/breeze, devel-common, and performance got their own include lists. The flit_core==3.12.0 pin is unchanged - bumping to allow flit 4 is left to dependabot once flit 4 ships.
Summary
Prepares the flit-based packages for flit 4 making
--no-use-vcsthedefault (see pypa/flit#782 and pypa/flit#673).
Each flit-based
pyproject.tomlnow declares an explicit[tool.flit.sdist]include list, so sdist contents no longer depend ongit.
dev/breeze/.../pyproject_TEMPLATE.toml.jinja2— adds a[tool.flit.sdist]block under the flit_core branch with Jinjalogic to emit the right namespace
__init__.pylines depending onprovider-id depth (e.g.
microsoft.azureaddsairflow/providers/microsoft/__init__.py).pyproject.tomlfiles — regenerated from the updatedtemplate.
dev/breeze,devel-common,performance— explicit include listsmatching what
--use-vcsshipped today.Sdist parity with
--use-vcswas verified for 9 representativeproviders (single + nested IDs) and
dev/breeze+devel-common. Theonly delta is
.gitignore(only*.iml, irrelevant) plus one stalenewsfragment in the azure provider.
The
flit_core==3.12.0pin is unchanged; bumping it (and switchingbreeze's build command to
--no-use-vcs, which will also fix theworktree case from #65771) is left for a follow-up once flit 4 ships
— dependabot will surface that.
Test plan
pytest dev/breeze/tests/test_packages.py dev/breeze/tests/test_provider_documentation.py(133 passed)flit --use-vcsandflit --no-use-vcsfor 9providers +
dev/breeze+devel-commonand confirmed contentsmatch (modulo
.gitignore)prek run --stage pre-commiton the modified filesWas generative AI tooling used to co-author this PR?
Generated-by: Claude Opus 4.7 (1M context) following the guidelines