code: def attribute(name, value, getter=None, setter=None, deleter=None,
                label=None, desc=None, meta=None):
      
      _annotate("attribute", name, value, getter=getter, setter=setter,
                deleter=deleter,
                label=label, desc=desc, meta=meta)
docs: Annotates a model attribute.
      @param name: attribute name, unique for a model.
      @type name: str or unicode
      @param value: attribute type information.
      @type value: implementer of L{src.feat.models.interface.IValueInfo}
      @param getter: an effect or None if the attribute is write-only;
                     the retrieved value that will be validated;
                     see feat.models.call for effect information.
      @type getter: callable or None
      @param setter: an effect or None if the attribute is read-only;
                     the new value will be validated, possibly converted
                     and returned;
                     see feat.models.call for effect information.
      @type setter: callable or None
      @param deleter: an effect or None if the attribute cannot be deleted;
      @type deleter: callable or None
      @param label: the attribute label or None.
      @type label: str or unicode or None
      @param desc: the description of the attribute or None if not documented.
      @type desc: str or unicode or None
      @param meta: model item metadata atoms.
      @type meta: list of tuple