[ https://issues.apache.org/jira/browse/BEAM-8519?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Beam JIRA Bot updated BEAM-8519: -------------------------------- Labels: (was: stale-P2) > Typehint for Python CombineFn Accumulator > ----------------------------------------- > > Key: BEAM-8519 > URL: https://issues.apache.org/jira/browse/BEAM-8519 > Project: Beam > Issue Type: New Feature > Components: sdk-py-core > Reporter: Yifan Mai > Priority: P3 > > Feature request: > Allow users to specify a typehint for the accumulator type of CombineFn, > either through a typehints decorator, or by using Python type annotations on > the CombineFn methods, or through inheriting a CombineFn [generic > type|https://docs.python.org/3/library/typing.html#user-defined-generic-types]. > Benefits: > * Allow the user to [specify a more efficient > coder|https://beam.apache.org/documentation/programming-guide/#data-encoding-and-type-safety] > for accumulators if one is available. Currently users are able to do this > for the input and output elements, but not the accumulators, which [always > uses the fallback > coder|https://github.com/apache/beam/blob/d664592ee761d45b0273edb027a18c6ed9340349/sdks/python/apache_beam/transforms/core.py#L859-L860]. > * Allows typechecking of methods for CombineFn e.g. check that > create_accumulator(), add_input() and merge_accumulators() returns > accumulators. This provides better developer ergonomics as the CombineFnAPI > is non-trivial. -- This message was sent by Atlassian Jira (v8.3.4#803005)