class_docstr: Create a new alias as a key-value pair. All aliases are stored
  in ``Alias.aliases``. Duplicate keys or values are not allowed,
  unless the ``replace`` parameter is ``True``.
  
  Parameters
  ----------
  name : str
      Alias key.
  expr : str
      Alias value.
  replace : bool, optional
      Replace the current key-value pair if it already exists.
  
  Attributes
  ----------
  Alias.aliases : dict
      Class variable for storing all known aliases
  
  Examples
  --------
  
  >>> Alias('atr', 'ma_truerange')
  >>> Alias('hc', 'higher_close')
code: def __new__(cls, name, expr, replace=False):
      # code
      efound = expr in [Alias.aliases[key] for key in Alias.aliases]
      if efound == True:
          key = [
              key
              for key, aexpr in list(Alias.aliases.items())
              if aexpr == expr
          ]
          logger.info(
              "Expression %s already exists for key %s", expr, key
          )
          return
      else:
          if replace == True or not name in Alias.aliases:
              identifier = re.compile(r"^[^\d\W]\w*\Z", re.UNICODE)
              result1 = re.match(identifier, name)
              if result1 is None:
                  logger.info("Invalid alias key: %s", name)
                  return
              result2 = re.match(identifier, expr)
              if result2 is None:
                  logger.info("Invalid alias expression: %s", expr)
                  return
              return super(Alias, cls).__new__(cls)
          else:
              logger.info("Key %s already exists", name)
  
file_path: AlphaPy/alphapy/alias.py
imports: import logging
  import parser
  import re
label_desc: Use image node_id 1 for calling the Alias obj's underlying member method code with example usage: obj.__new__(cls, name, expr, replace) and returns: super