You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Udi Meiri (Jira)" <ji...@apache.org> on 2019/09/05 17:16:00 UTC

[jira] [Commented] (BEAM-8156) Finish migration to standard Python typing

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