[ https://issues.apache.org/jira/browse/BEAM-8156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16923627#comment-16923627 ]
Udi Meiri commented on BEAM-8156: --------------------------------- Discussion about pickling typing types: https://lists.apache.org/thread.html/5cbb9cc8e2aec2bf8676384fdfed8ccdab418a34467897da75d8e5d2@%3Cdev.beam.apache.org%3E > Finish migration to standard Python typing > ------------------------------------------ > > Key: BEAM-8156 > URL: https://issues.apache.org/jira/browse/BEAM-8156 > Project: Beam > Issue Type: Improvement > Components: sdk-py-core > Reporter: Robert Bradshaw > Assignee: Udi Meiri > Priority: Major > Original Estimate: 504h > Remaining Estimate: 504h > > We should migrate all Python uses of types to the standard typing module, and > make the typehints.* ones aliases of the Python ones. > > There are three places where we use custom typehints behavior: > (1) is_compatible_with > (2) bind_type_variables/match_type_variables > (3) trivial type inference. > > I would propose that each of these be adapted to a (internal) public > interface that accepts and returns standard typing types, and internally > converts to our (nowhere else exposed) typehints types, performs the logic, > and converts back. Each of these in turn can then be updated, as needed and > orthogonally, to operate on the typing types natively (possibly via deference > to a third-party library). > > I think coder inference could be easily adopted to use typing types directly, > but it may be a fourth place where we do internal conversion first. Another > gotcha is special care may need to be taken if we ever need to pickle these > types (which IIRC may have issues). -- This message was sent by Atlassian Jira (v8.3.2#803003)