Document each provider's optional extras in its docs index#69478
Merged
Conversation
gopidesupavan
approved these changes
Jul 6, 2026
The provider docs index page only listed cross-provider extras (extras that pull in another Airflow provider). A provider's plain-PyPI optional extras -- common-ai's anthropic/openai/langchain, amazon's aiobotocore/ s3fs, and so on -- had no rendering path in the docs at all. Render the already-computed optional-dependencies table in the provider index template, mirroring what the PyPI README template already does. The shared index template drives every provider's index.rst, and the update-providers-build-files check regenerates them all, so this also regenerates the index for every provider that declares optional extras.
92000e6 to
0eeb62a
Compare
Contributor
Backport failed to create: v3-3-test. View the failure log Run detailsNote: As of Merging PRs targeted for Airflow 3.X In matter of doubt please ask in #release-management Slack channel.
You can attempt to backport this manually by running: cherry_picker 62d451d v3-3-testThis should apply the commit to the v3-3-test branch and leave the commit in conflict state marking After you have resolved the conflicts, you can continue the backport process by running: cherry_picker --continueIf you don't have cherry-picker installed, see the installation guide. |
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.
Summary
A provider's docs index page listed only cross-provider extras -- extras that install another Airflow provider -- under "Optional cross provider package dependencies". A provider's plain-PyPI optional extras had no rendering path in the docs at all.
For
common-aithat leftanthropic,bedrock,openai,mcp,code-mode,langchain,llamaindex,pdf,docx(and more) undocumented; foramazon, extras likeaiobotocore,s3fs, andpandas.This adds an "Optional dependencies" section to the provider index template that renders the full extras table, so every extra a provider declares in
[project.optional-dependencies]is documented alongside its dependencies and apip install pkg[extra]example.Why this shape
The optional-dependencies table and its Jinja context (
OPTIONAL_DEPENDENCIES,OPTIONAL_DEPENDENCIES_TABLE_RST) already existed and are already rendered by the PyPI README template (added in #55280). The docs-site index template was simply never given the section, so this reuses the exact same computed context -- no new data plumbing.It sits alongside the existing "Optional cross provider package dependencies" table, which stays because it links out to the other providers' docs. This mirrors how the README already renders both tables.
Scope of the diff
The index template is shared, and the
update-providers-build-filesstatic check regenerates every provider'sindex.rstfrom it. So the section can't be scoped to one provider -- allindex.rstfiles that gain a section have to be regenerated in the same PR to keep the check green. The 40 providers touched here are exactly those that declare optional extras; providers with none are unchanged. The change is purely additive (a new section), verified idempotent against the generator.