[
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)