25 def __init__(self, names: Union[str, List[str], Set[str], common.BlockName]):
26 """Create a ``PyBlockName`` from common Python representations.
30 - ``common.BlockName``: an existing bound C++ instance.
31 - ``str``: a single alias (some C++ implementations may also
32 parse slash-separated aliases like ``"A/B/C"``).
33 - ``list[str]`` or ``set[str]``: multiple aliases.
36 TypeError: If ``names`` has an unsupported type.
38 if isinstance(names, common.BlockName):
40 elif isinstance(names, str):
41 self.
_cpp_obj = common.BlockName(names)
42 elif isinstance(names, (list, set)):
43 str_set = {str(name)
for name
in names}
44 self.
_cpp_obj = common.BlockName(str_set)
46 raise TypeError(f
"Unsupported type for BlockName init: {type(names)}")