Only render cross-provider dependencies if they're optional#63906
Only render cross-provider dependencies if they're optional#63906TylerLubeck wants to merge 2 commits into
Conversation
Good catch. Yes I think renaming the docs session to optional is a good idea - feel free to amend the commit, you will need to change template and regenerate the docs (look for |
bbf4f59 to
039ae7a
Compare
039ae7a to
5a8d177
Compare
|
boy howdy regenerating the docs makes this a big PR. I split the commits to hopefully make review easier, key stuff is in the first one. and thank you for the breeze release-management prepare-provider-documentation --reapply-templates-only --only-min-version-updateLeaving off the last argument resulted in and picking a release date felt presumptuous at best |
|
@TylerLubeck Converting to draft — this PR doesn't yet meet our Pull Request quality criteria.
See the linked criteria for how to fix each item, then mark the PR "Ready for review". This is not a rejection — just an invitation to bring the PR up to standard. No rush. Note: This comment was drafted by an AI-assisted triage tool and may contain mistakes. Once you have addressed the points above, an Apache Airflow maintainer — a real person — will take the next look at your PR. We use this two-stage triage process so that our maintainers' limited time is spent where it matters most: the conversation with you. |
5a8d177 to
d9cc23a
Compare
d9cc23a to
6656133
Compare
6656133 to
ede16cc
Compare
josh-fell
left a comment
There was a problem hiding this comment.
Agreed, this is much clearer.
|
Failing check says: I'm somewhat confident this check can be bypassed - the code hasn't changed in common-compat - but I can't add the label |
|
@TylerLubeck I added the skip tag. Please rebase. |
751409d to
b1cd80d
Compare
b1cd80d to
fe3f639
Compare
There was a problem hiding this comment.
Pull request overview
Updates Breeze’s provider documentation generation so “cross provider dependencies” are only rendered when they correspond to optional extras (i.e., not already present in the provider’s required dependencies), aligning docs behavior with how pyproject.toml extras are generated.
Changes:
- Filter
CROSS_PROVIDERS_DEPENDENCIESin Breeze to only include cross-provider deps that are not already required dependencies. - Rename the rendered section header to “Optional cross provider package dependencies” where it remains applicable.
- Regenerate many provider
README.rstanddocs/index.rstfiles to remove misleading extras and tables.
Reviewed changes
Copilot reviewed 195 out of 195 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| dev/breeze/src/airflow_breeze/utils/packages.py | Filters cross-provider deps used for docs to only those not already in required dependencies. |
| dev/breeze/src/airflow_breeze/templates/PROVIDER_README_TEMPLATE.rst.jinja2 | Renames the cross-provider section header to indicate optionality. |
| dev/breeze/src/airflow_breeze/templates/PROVIDER_INDEX_TEMPLATE.rst.jinja2 | Renames the cross-provider section header to indicate optionality (but currently also gates the download section). |
| providers/airbyte/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/airbyte/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/alibaba/README.rst | Regenerated provider README removing non-optional cross-provider extras section (and updating requirement table rendering). |
| providers/alibaba/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/amazon/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/amazon/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/apache/cassandra/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/apache/cassandra/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/apache/drill/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/apache/drill/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/apache/druid/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/apache/druid/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/apache/flink/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/apache/flink/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/apache/hdfs/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/apache/hdfs/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/apache/hive/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/apache/hive/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/apache/iceberg/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/apache/iceberg/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/apache/impala/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/apache/impala/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/apache/kafka/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/apache/kafka/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/apache/kylin/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/apache/kylin/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/apache/livy/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/apache/livy/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/apache/pig/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/apache/pig/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/apache/pinot/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/apache/pinot/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/apache/spark/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/apache/spark/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/apache/tinkerpop/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/apache/tinkerpop/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/apprise/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/apprise/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/arangodb/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/arangodb/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/asana/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/asana/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/atlassian/jira/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/atlassian/jira/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/celery/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/celery/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/cloudant/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/cloudant/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/cncf/kubernetes/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/cncf/kubernetes/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/cohere/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/cohere/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/common/compat/README.rst | Regenerated provider README header to optional cross-provider deps (if present). |
| providers/common/compat/docs/index.rst | Regenerated provider index header to optional cross-provider deps (if present). |
| providers/common/io/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/common/io/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/common/sql/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/common/sql/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/databricks/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/databricks/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/datadog/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/datadog/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/dbt/cloud/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/dbt/cloud/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/discord/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/discord/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/dingding/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/dingding/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/docker/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/docker/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/edge3/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/edge3/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/elasticsearch/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/elasticsearch/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/exasol/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/exasol/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/fab/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/fab/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/facebook/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/facebook/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/ftp/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/ftp/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/git/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/git/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/github/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/github/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/google/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/google/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/grpc/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/grpc/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/hashicorp/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/hashicorp/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/http/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/http/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/imap/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/imap/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/influxdb/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/influxdb/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/informatica/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/informatica/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/jdbc/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/jdbc/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/jenkins/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/jenkins/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/keycloak/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/keycloak/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/microsoft/azure/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/microsoft/azure/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/microsoft/mssql/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/microsoft/mssql/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/microsoft/psrp/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/microsoft/psrp/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/microsoft/winrm/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/microsoft/winrm/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/mongo/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/mongo/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/mysql/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/mysql/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/neo4j/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/neo4j/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/odbc/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/odbc/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/openai/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/openai/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/openfaas/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/openfaas/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/openlineage/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/openlineage/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/opensearch/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/opensearch/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/opsgenie/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/opsgenie/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/oracle/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/oracle/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/pagerduty/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/pagerduty/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/papermill/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/papermill/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/pgvector/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/pgvector/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/pinecone/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/pinecone/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/postgres/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/postgres/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/presto/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/presto/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/qdrant/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/qdrant/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/redis/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/redis/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/salesforce/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/salesforce/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/samba/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/samba/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/segment/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/segment/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/sendgrid/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/sendgrid/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/sftp/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/sftp/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/singularity/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/singularity/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/slack/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/slack/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/smtp/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/smtp/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/snowflake/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/snowflake/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/sqlite/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/sqlite/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/ssh/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/ssh/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/standard/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/standard/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/tableau/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/tableau/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/telegram/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/telegram/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/teradata/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/teradata/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/trino/README.rst | Regenerated provider README keeping only optional cross-provider extras. |
| providers/trino/docs/index.rst | Regenerated provider index keeping only optional cross-provider extras. |
| providers/vertica/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/vertica/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/weaviate/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/weaviate/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/yandex/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/yandex/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/ydb/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/ydb/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| providers/zendesk/README.rst | Regenerated provider README removing non-optional cross-provider extras section. |
| providers/zendesk/docs/index.rst | Regenerated provider index removing non-optional cross-provider extras section. |
| {%- if CROSS_PROVIDERS_DEPENDENCIES %} | ||
|
|
||
| Cross provider package dependencies | ||
| ----------------------------------- | ||
| Optional cross provider package dependencies | ||
| -------------------------------------------- | ||
|
|
There was a problem hiding this comment.
Downloading official packages is currently inside the {%- if CROSS_PROVIDERS_DEPENDENCIES %} block. With this PR making CROSS_PROVIDERS_DEPENDENCIES empty for providers whose cross-provider deps are already required, their docs index will no longer render any download links/checksums/signatures. Move the Downloading official packages section outside the conditional so it always appears, independent of whether there are optional cross-provider extras to show.
| pip_requirements = get_provider_requirements(provider_details.provider_id) | ||
| cross_deps = get_cross_provider_dependent_packages(provider_id=provider_id) | ||
| optional_cross_provider_dependencies = [ | ||
| dep for dep in cross_deps if get_pip_package_name(dep) not in "\n".join(pip_requirements) | ||
| ] |
There was a problem hiding this comment.
The new filtering of CROSS_PROVIDERS_DEPENDENCIES to exclude providers already present in pip_requirements changes the generated provider docs/README output, but there are no unit tests asserting the new behavior (e.g. that required cross-provider deps are omitted, optional ones remain, and templates still render expected sections). Please add a regression test (likely in dev/breeze/tests/test_packages.py) covering the new get_provider_jinja_context() output for at least one provider where cross-provider deps are required-only vs optional.
|
@TylerLubeck A few things need addressing before review — see our Pull Request quality criteria.
No rush. Note: This comment was drafted by an AI-assisted triage tool and may contain mistakes. Once you have addressed the points above, an Apache Airflow maintainer — a real person — will take the next look at your PR. We use this two-stage triage process so that our maintainers' limited time is spent where it matters most: the conversation with you. |
|
@TylerLubeck This PR was triaged 20 days ago and has had no reply since. Converting to draft — this PR doesn't yet meet our Pull Request quality criteria.
See the linked criteria for how to fix each item, then mark the PR "Ready for review". This is not a rejection — just an invitation to bring the PR up to standard. No rush. Note: This comment was drafted by an AI-assisted triage tool and may contain mistakes. Once you have addressed the points above, an Apache Airflow maintainer — a real person — will take the next look at your PR. We use this two-stage triage process so that our maintainers' limited time is spent where it matters most: the conversation with you. |
|
Quick follow-up to the triage comment above — one clarification on the "Unresolved review comments" item: Once you believe a thread has been addressed — whether by pushing a fix, or by replying in-thread with an explanation of why the suggestion doesn't apply — please mark the thread as resolved yourself by clicking the "Resolve conversation" button at the bottom of each thread. Reviewers don't auto-close their own threads, so an addressed-but-unresolved thread reads as "still waiting on the author" and keeps the PR from moving forward. The author doing the resolve-click is the expected convention on this project. Note: This comment was drafted by an AI-assisted triage tool and may contain mistakes. Once you have addressed the points above, an Apache Airflow maintainer — a real person — will take the next look at your PR. We use this two-stage triage process so that our maintainers' limited time is spent where it matters most: the conversation with you. |
|
@TylerLubeck This draft PR has been inactive for 13 days since the last triage comment and no response from the author. Closing to keep the queue clean. You are welcome to reopen this PR when you resume work, or to open a new one addressing the issues previously raised. There is no rush — take your time. Note: This comment was drafted by an AI-assisted triage tool and may contain mistakes. Once you have addressed the points above, an Apache Airflow maintainer — a real person — will take the next look at your PR. We use this two-stage triage process so that our maintainers' limited time is spent where it matters most: the conversation with you. |
This mirrors what happens when generating
pyproject.toml- if providers are listed in the package requirements, they are not added asextras.The difference here - and where I'm hoping for some feedback - is that the docs say both "This is a cross provider dependency" and "here's the extra you can use to install it if you want".
Basically, do we want to differentiate between optional and required cross provider dependencies, but still show both? Or perhaps rename the docs section "optional cross provider dependencies"? This PR currently chooses to do neither, and just doesn't show the cross provider dependency if it's also a required dependency.
closes: #63891
Was generative AI tooling used to co-author this PR?
Nope