On Wed, Nov 7, 2018 at 10:30 PM Zach Moshe <[email protected]> wrote: > > (Adding the public Beam-dev group) > > On Wed, Nov 7, 2018 at 2:26 PM Zach Moshe <[email protected]> wrote: >> >> Hi, >> I've noticed that `beam.core.pvalue.PCollection` doesn't support a >> `__getitem__()` that returns a `GenericMeta` type (like regular types from >> typing do). >> >> While `PCollection[MyObject]` seems to work when used inside a method >> definition (e.g. `def func(coll: PCollection[MyObject]): ...`,
This is because that's not actually interpreted except by pytype. It will also crash in Python 3. >> it crashes when I try to create a type alias from it: >> >> MyCollection = PCollection[MyObject] >> >> TypeError: 'type' object has no attribute '__getitem__' >> >> Is that intended? Any reason why we shouldn't be able to create an alias? >> >> For some general context - my use-case is that I have an alias for the basic >> type I'm using throughout my module. I want to have another alias for a >> PCollection of these because I have several methods in the code which I want >> to annotate with pytypes and make sure they receive only a PCollection of >> MyObjects. It seems to be only supported if I copy the type definition to >> all methods instead of aliasing it as MyCollection and using the alias. >> >> To make it clear - I'm using regular pytype, not Beam's typehints (I want >> regular static type checking, not the pipeline's initialization one). >> >> I would be grateful if anyone, from either of the groups, could help me >> understand if I'm doing something wrong, expecting something that is >> intentionally not done, or it's some kind of a bug/missing-feature so I >> could mitigate appropriately. It's just a missing feature. If you want to give https://github.com/apache/beam/pull/6983 an LGTM it won't be anymore :). >> Many thanks, >> Zach >> > -- > You received this message because you are subscribed to the Google Groups > "dataflow-beam" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/a/google.com/d/msgid/dataflow-beam/CAD%3DREx2EinaqMwyNX1TcWTRpfTW4inqnoWrvTw5qkQuJW0o_-w%40mail.gmail.com.
