New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make sure multiple_outputs
is inferred correctly even when using TypedDict
#36652
Make sure multiple_outputs
is inferred correctly even when using TypedDict
#36652
Conversation
Congratulations on your first Pull Request and welcome to the Apache Airflow community! If you have any issues or are unsure about any anything please check our Contribution Guide (https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst)
|
Now just a small "glitch" in imports due to static checks... https://github.com/apache/airflow/actions/runs/7444185558/job/20275885423?pr=36652 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably worth adding a note about this to the doc you referenced too.
ec4f611
to
70a0a94
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Awesome work, congrats on your first merged pull request! You are invited to check our Issue Tracker for additional contributions. |
…ypedDict` (apache#36652) * Use `issubclass()` to check if return type is a dictionary * Compare type to `typing.Mapping` instead of `typing.Dict` * Add documentation
According to the documentation here, the
multiple_outputs
parameter should automatically set to true if adict
is being used as the function return type.The current condition in
_infer_multiple_outputs()
does not consider aTypedDict
as adict
for that matter, as well as any other subclass ofdict
.This PR uses
issubclass()
to make sure anytyping.Mapping
subclass will makemultiple_outputs=True
^ 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.rst
or{issue_number}.significant.rst
, in newsfragments.