code: def __new__(mcs, class_name, bases, attrs):
      # Initialize classinfos dictionnary with all classinfos dictionnary
      # of bases
      classinfos = BaseMeta.inherited_classinfos(bases)
  
      # Inspect current class to have get information about its atributes
      # cls_key is an unique hashable identifier for the class
      cls_key = "%s.%s" % (attrs["__module__"], attrs["__qualname__"])
      classinfos[cls_key] = {"index": 0}
      extract_attrinfos = BaseMeta.extract_attrinfos
      classinfos[cls_key]["attr"] = extract_attrinfos(class_name, attrs)
  
      # Once we have collected all classinfos we can extract from it all
      # attributes information
      attrinfos = BaseMeta.create_attrinfos(classinfos)
  
      attrs["_classinfos"] = classinfos
      attrs["_attrinfos"] = attrinfos
  
      build_property = BaseMeta.build_property
  
      # Create properties for all attributes described in attrinfos if they
      # are not already a property; This allow us to set a special behavior
      for attr_name, info in attrinfos.items():
          attr_is_property = attrinfos[attr_name].get("is_prop", False)
  
          # We create the corresponding property if our item is not a property
          if not attr_is_property:
              writable = info.get(
                  "writable", BaseMeta.default_attrinfo["writable"]
              )
  
              cpp_setter = info.get(
                  "cpp_setter", BaseMeta.default_attrinfo["cpp_setter"]
              )
  
              attrs[attr_name] = build_property(
                  class_name, attrs, attr_name, writable, cpp_setter
              )
  
      # Add a __setattr__ method that forbids to add an non-existing
      # attribute
      def __setattr__(self, key, val):
          if key in attrinfos:
              object.__setattr__(self, key, val)
          else:
              raise AttributeError(
                  "'%s' object has no settable attribute "
                  "'%s'" % (class_name, key)
              )
  
      attrs["__setattr__"] = __setattr__
  
      # Add a method allowing to force set an attribute
      def _set(self, key: str, val):
          """A method allowing to force set an attribute"""
          if not isinstance(key, str):
              raise ValueError(
                  "In _set function you must pass key as string"
              )
  
          if key not in attrinfos:
              raise AttributeError(
                  "'%s' object has no settable attribute "
                  "'%s'" % (class_name, key)
              )
  
          object.__setattr__(self, BaseMeta.hidden_attr(key), val)
  
          cpp_setter = self._attrinfos[key].get(
              "cpp_setter", BaseMeta.default_attrinfo["cpp_setter"]
          )
          if cpp_setter is not None:
              BaseMeta.set_cpp_attribute(self, val, cpp_setter)
  
      attrs["_set"] = _set
  
      return ABCMeta.__new__(mcs, class_name, bases, attrs)
  
imports: import os
  import inspect
  from datetime import datetime
  from abc import ABCMeta
  import json
  import pydoc
  import numpy
  import numpydoc
  from numpydoc import docscrape
  import copy
label_desc: Use image node_id 12 for calling the BaseMeta obj's underlying member method code with example usage: obj.__new__(mcs, class_name, bases, attrs) and returns: ABCMeta