You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Valentyn Tymofieiev (Jira)" <ji...@apache.org> on 2019/09/09 21:35:00 UTC

[jira] [Commented] (BEAM-5878) Support DoFns with Keyword-only arguments in Python 3.

    [ https://issues.apache.org/jira/browse/BEAM-5878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16926107#comment-16926107 ] 

Valentyn Tymofieiev commented on BEAM-5878:
-------------------------------------------

This should be fixed once new version of dill is released.

Reopening this issue so that we remember to re-add the tests from https://github.com/apache/beam/pull/9237. 

Beam 2.16.0 should still be the first beam release to pick up new version dill, so I am keeping  fix version 2.16.0, although we should not wait for this issue to be resolved to cut 2.16.0 (FYI: [~markflyhigh])


> Support DoFns with Keyword-only arguments in Python 3.
> ------------------------------------------------------
>
>                 Key: BEAM-5878
>                 URL: https://issues.apache.org/jira/browse/BEAM-5878
>             Project: Beam
>          Issue Type: Sub-task
>          Components: sdk-py-core
>            Reporter: Valentyn Tymofieiev
>            Assignee: yoshiki obata
>            Priority: Minor
>             Fix For: 2.16.0
>
>          Time Spent: 13h 10m
>  Remaining Estimate: 0h
>
> Python 3.0 [adds a possibility|https://www.python.org/dev/peps/pep-3102/] to define functions with keyword-only arguments. 
> Currently Beam does not handle them correctly. [~ruoyu] pointed out [one place|https://github.com/apache/beam/blob/a56ce43109c97c739fa08adca45528c41e3c925c/sdks/python/apache_beam/typehints/decorators.py#L118] in our codebase that we should fix: in Python in 3.0 inspect.getargspec() will fail on functions with keyword-only arguments, but a new method [inspect.getfullargspec()|https://docs.python.org/3/library/inspect.html#inspect.getfullargspec] supports them.
> There may be implications for our (best-effort) type-hints machinery.
> We should also add a Py3-only unit tests that covers DoFn's with keyword-only arguments once Beam Python 3 tests are in a good shape.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)