class_docstr: The BaseClass of the tick project. This relies on some dark
  magic based on a metaclass. The aim is to have read-only attributes,
  docstring for all parameters, and some other nasty features
  
  Attributes
  ----------
  name : str (read-only)
      Name of the class
class_docstr_tok: ["The","BaseClass","of","the","tick","project",".","This","relies","on","some","dark","magic","based","on","a","metaclass",".","The","aim","is","to","have","read-only","attributes",",","docstring","for","all","parameters",",","and","some","other","nasty","features","Attributes","--","--","--","--","--","name",":","str","(","read-only",")","Name","of","the","class"]
code: def __init__(self, *args, **kwargs):
      # We add the name of the class
      self._set("name", self.__class__.__name__)
  
      for attr_name, prop in self.__class__.__dict__.items():
          if isinstance(prop, property):
              if (
                  attr_name in self._attrinfos
                  and len(self._attrinfos[attr_name].get("doc", [])) > 0
              ):
                  # we create the property documentation based o what we
                  # have found in the docstring.
                  # First we will have the type of the property, then the
                  # documentation and finally the closest class (in terms
                  # of inheritance) in which it is documented
                  # Note: We join doc with '-' instead of '\n'
                  # because multiline doc does not print well in iPython
  
                  prop_doc = self._attrinfos[attr_name]["doc"]
                  prop_doc = " - ".join(
                      [
                          str(d).strip()
                          for d in prop_doc
                          if len(str(d).strip()) > 0
                      ]
                  )
  
                  # We copy property and add the doc found in docstring
                  setattr(
                      self.__class__,
                      attr_name,
                      property(
                          prop.fget, prop.fset, prop.fdel, prop_doc
                      ),
                  )
  
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 1 to create a new Base object  with example: obj = Base()