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)