Details: One item of interest that came up during the implementation of BEAM-10258 [1] is how to treat PTransforms that act like sources or sinks. These transforms have either no input or output PCollections, respectively.
Internally, we use PBegin and PDone to denote this. (ex: [2]) IIUC, PBegin and PDone aren't part of the Beam model, and in the pipeline description they manifest as empty input and output lists. To support type hinting, I propose making these types public. They are not currently listed in [3] and the documentation implies they're internal. Java SDK already supports these types and makes them public. [4] [1] https://github.com/apache/beam/pull/12009 [2] https://github.com/apache/beam/blob/e73e1d1cce93930fa3d85046b9bbae7c724926bf/sdks/python/apache_beam/io/gcp/experimental/spannerio.py#L471-L506 [3] https://github.com/apache/beam/blob/e73e1d1cce93930fa3d85046b9bbae7c724926bf/sdks/python/apache_beam/pvalue.py#L61 [4] https://github.com/apache/beam/blob/e73e1d1cce93930fa3d85046b9bbae7c724926bf/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/PTransform.java#L53-L56
smime.p7s
Description: S/MIME Cryptographic Signature