Backport Docs setup for the Task SDK (#51153) #52682
Merged
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.
This PR is a continuation of #47357
To enhance the experience (i.e., rather than just being given an alphabetical list of classes/functions), I have opted not to use the AutoAPI extension's auto-generate feature, allowing me to precisely control the order and grouping of the classes.
I have organized Task-SDK API into these sections:
DAG,dagtask,task_group,setup,teardownBaseOperator,BaseSensorOperator,BaseNotifier,BaseOperatorLink,XComArgConnection,VariableTaskGroup,get_current_context,get_parsing_context,Param,chain,chain_linear,cross_downstreamAsset,AssetAlias,AssetAll,AssetAny,AssetWatcher,MetadataI also ensured that all documented references use the top-level SDK path (e.g.,
airflow.sdk.DAG) instead of exposing the underlying module paths (e.g.,airflow.sdk.definitions.dag.DAG).I have incorporated a test that compares the items in the generated
objects.invwith the elements I re-export fromairflow/sdk/__init__.py.The
airflow/sdk/__init__.pyitype stub is unfortunately necessary, as without it (and with the imports solely within theif TYPE_CHECKINGblock), the re-exported classes were not appearing where I wanted them. Specifically, I want users to import items directly fromairflow.sdk, not the submodule.Test this with
or
Screenshots

closes: #43010
closes: #51283
(cherry picked from commit ebfc0de)
^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named
{pr_number}.significant.rstor{issue_number}.significant.rst, in airflow-core/newsfragments.