class_docstr: A wrapper around registered implementations of beam nodes.
class_docstr_tok: ["A","wrapper","around","registered","implementations","of","beam","nodes","."]
docstr: Add `ptransform_class` for all `tags`.
docstr_tok: ["Add","`","ptransform_class","`","for","all","`","tags","`","."]
code: def add_ptransform(self, ptransform_class, tags):
      """Add `ptransform_class` for all `tags`."""
      # Many tags can refer to the same ptransform_class, but each
      # ptransform_class should be registered only once.
      tags = {self._GENERAL_ENVIRONMENT_TAG} if tags is None else tags
      assert (tag not in self._ptransform_by_tag for tag in tags)
      for tag in tags:
          self._ptransform_by_tag[tag] = ptransform_class
  
imports: import collections
  import dataclasses
  import enum
  import os
  from typing import Any, Dict, Mapping, Optional
  import uuid
  import apache_beam
  from tensorflow_transform import common_types
  from tensorflow_transform import nodes
  from tfx_bsl.telemetry import util
label_desc: Use image node_id 2 for calling the _PtransformWrapper obj's underlying member method code with example usage: obj.add_ptransform(ptransform_class, tags) without return types