code: def __new__(cls, name):
      if isinstance(name, np.dtype):
          dtype0 = name
          name = None
          for n, i in c_names_dict.items():
              if not isinstance(i, type) and dtype0.type is i.type:
                  name = n
                  break
      obj = cls._type_cache.get(name.upper(), None)
      if obj is not None:
          return obj
      obj = object.__new__(cls)
      obj._init(name)
      cls._type_cache[name.upper()] = obj
      return obj
  
imports: import os
  import sys
  import copy
  import platform
  import pytest
  from pathlib import Path
  import numpy
  from numpy.testing import assert_, assert_equal
  from numpy._core._type_aliases import c_names_dict
  from .None import util
label_desc: Use image node_id 1 for calling the Type obj's underlying member method code with example usage: obj.__new__(cls, name) and returns: obj, obj