What do you see as an issue?
Airflow docs incorrectly display "extra" cross-provider dependencies. I found this in the openlineage provider (#63836) and traced it to Breeze, so I assume the problem exists in other providers but have not verified.
Breeze parses all of the imports in all of the python files in the provider, then generates a list of ones coming from other providers.
It then uses that list to generate a pyproject.toml and an index.rst (among some rst files)
- For
pyproject.toml, it will generate an extra entry for each provider not found in the explicit requirements
- For
index.rst, it does not check the explicit requirements before generating the cross-provider dependency blobs.
This results in docs saying "install provider[extra1,extra2]" but extra1 and extra2 don't exist.
Solving the problem
I think we can reuse the logic used for pyproject.toml to generate the index.rst files, mostly wanted to check in with y'all before I attempted it
Anything else
No response
Are you willing to submit PR?
Code of Conduct
What do you see as an issue?
Airflow docs incorrectly display "extra" cross-provider dependencies. I found this in the openlineage provider (#63836) and traced it to Breeze, so I assume the problem exists in other providers but have not verified.
Breeze parses all of the imports in all of the python files in the provider, then generates a list of ones coming from other providers.
It then uses that list to generate a
pyproject.tomland anindex.rst(among some rst files)pyproject.toml, it will generate anextraentry for each provider not found in the explicit requirementsindex.rst, it does not check the explicit requirements before generating the cross-provider dependency blobs.This results in docs saying "install
provider[extra1,extra2]" butextra1andextra2don't exist.Solving the problem
I think we can reuse the logic used for
pyproject.tomlto generate theindex.rstfiles, mostly wanted to check in with y'all before I attempted itAnything else
No response
Are you willing to submit PR?
Code of Conduct