class_docstr: Create a new variable as a key-value pair. All variables are stored
  in ``Variable.variables``. Duplicate keys or values are not allowed,
  unless the ``replace`` parameter is ``True``.
  
  Parameters
  ----------
  name : str
      Variable key.
  expr : str
      Variable value.
  replace : bool, optional
      Replace the current key-value pair if it already exists.
  
  Attributes
  ----------
  variables : dict
      Class variable for storing all known variables
  
  Examples
  --------
  
  >>> Variable('rrunder', 'rr_3_20 <= 0.9')
  >>> Variable('hc', 'higher_close')
class_docstr_tok: ["Create","a","new","variable","as","a","key-value","pair",".","All","variables","are","stored","in","``","Variable.variables","``",".","Duplicate","keys","or","values","are","not","allowed",",","unless","the","``","replace","``","parameter","is","``","True","``",".","Parameters","--","--","--","--","--","name",":","str","Variable","key",".","expr",":","str","Variable","value",".","replace",":","bool",",","optional","Replace","the","current","key-value","pair","if","it","already","exists",".","Attributes","--","--","--","--","--","variables",":","dict","Class","variable","for","storing","all","known","variables","Examples","--","--","--","--",">",">",">","Variable","(","'rrunder","'",",","'rr_3_20","<","=","0.9","'",")",">",">",">","Variable","(","'hc","'",",","'higher_close","'",")"]
code: def __new__(cls, name, expr, replace=False):
      # code
      efound = expr in [
          Variable.variables[key].expr for key in Variable.variables
      ]
      if efound:
          key = [
              key
              for key in Variable.variables
              if expr in Variable.variables[key].expr
          ]
          logger.info(
              "Expression '%s' already exists for key %s", expr, key
          )
          return
      else:
          if replace or not name in Variable.variables:
              if not valid_name(name):
                  logger.info("Invalid variable key: %s", name)
                  return
              try:
                  result = parser.expr(expr)
              except:
                  logger.info("Invalid expression: %s", expr)
                  return
              return super(Variable, cls).__new__(cls)
          else:
              logger.info("Key %s already exists", name)
  
imports: from alphapy.alias import get_alias
  from alphapy.frame import Frame
  from alphapy.frame import frame_name
  from alphapy.globals import BSEP, LOFF, ROFF, USEP
  from alphapy.utilities import valid_name
  import builtins
  from collections import OrderedDict
  from importlib import import_module
  import logging
  import numpy
  import pandas
  import parser
  import re
  import sys
label_desc: Use image node_id 1 for calling the Variable obj's underlying member method code with example usage: obj.__new__(cls, name, expr, replace) and returns: super