class_docstr: Python representation for a PostgreSQL |range|_ type.
  
  :param lower: lower bound for the range. `!None` means unbound
  :param upper: upper bound for the range. `!None` means unbound
  :param bounds: one of the literal strings ``()``, ``[)``, ``(]``, ``[]``,
      representing whether the lower or upper bounds are included
  :param empty: if `!True`, the range is empty
class_docstr_tok: ["Python","representation","for","a","PostgreSQL","|range|_","type",".",":","param","lower",":","lower","bound","for","the","range",".","`","!","None","`","means","unbound",":","param","upper",":","upper","bound","for","the","range",".","`","!","None","`","means","unbound",":","param","bounds",":","one","of","the","literal","strings","``","(",")","``",",","``","[",")","``",",","``","(","]","``",",","``","[","]","``",",","representing","whether","the","lower","or","upper","bounds","are","included",":","param","empty",":","if","`","!","True","`",",","the","range","is","empty"]
docstr: `!True` if the lower bound is included in the range.
docstr_tok: ["`","!","True","`","if","the","lower","bound","is","included","in","the","range","."]
code: def lower_inc(self):
      """`!True` if the lower bound is included in the range."""
      if self._bounds is None or self._lower is None:
          return False
      return self._bounds[0] == "["
  
imports: import re
  from psycopg2._psycopg import ProgrammingError, InterfaceError
  from psycopg2.extensions import ISQLQuote, adapt, register_adapter
  from psycopg2.extensions import new_type, new_array_type, register_type
label_desc: Use image node_id 9 for calling the Range obj's underlying member method code with example usage: obj.lower_inc() and returns: unknown, False