Valentyn Tymofieiev created BEAM-5878:
-----------------------------------------

             Summary: 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: Ahmet Altay


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
(v7.6.3#76005)

Reply via email to