docs: def variable(name: str, target: property) -> typing.Union[None, dict]:
      """
      :param name:
      :param target:
      :return:
      """
  
      if hasattr(target, 'fget'):
          doc = parse_function(name, target.fget)
          if doc:
              doc['read_only'] = bool(target.fset is None)
              return doc
  
      return dict(
          name=name,
          description=get_docstring(target)
      )