Annotation¶
- class pyinaturalist.models.Annotation(**kwargs)¶
Bases:
BaseModelAn annotation, meaning a controlled term value applied by a user to an observation. Based on the schema of annotations from GET /observations and GET /observations/{id}.
For convenience, an Annotation object may be initialized from labels:
>>> Annotation(term='Life Stage', value='Adult')
Or from IDs:
>>> Annotation(controlled_attribute_id=1, controlled_value_id=2)
Or from objects:
>>> Annotation( ... controlled_attribute=ControlledTerm(id=1, label='Life Stage'), ... controlled_value_id=ControlledTermValue(id=2, label='Adult'),
Note: Different annotation information is returned from different API endpoints:
GET /observations(used byget_observations()andObservationController.search()) returns annotations with term and value IDs only.GET /observations/{id}(used byget_observations_by_id()andObservationController.from_ids()) returns full annotations details, including labels.
Attributes
Name
Type
Description
id
Unique record ID
user_id
uuid
vote_score
votes
term (
property)Convenience property for getting/setting the controlled term label
value (
property)Convenience property for getting/setting the controlled value label
user (
LazyProperty)User who added the annotation
controlled_attribute (
LazyProperty)Term definition details
controlled_value (
LazyProperty)Annotation value details
Methods
- __init__(**kwargs)¶
Method generated by attrs for class BaseModel.
- classmethod copy(obj) BaseModel¶
Copy a model object. This is defined as a classmethod to easily initialize a subclass from a parent class instance. For copying an instance to the same type,
copy.deepcopy()can be used.- Return type:
- classmethod from_json(value, **kwargs) T¶
Initialize a single model object from an API response or response result.
Omits any invalid fields and
Nonevalues, so default factories are used instead (e.g. for empty dicts and lists).- Return type:
TypeVar(T, bound= BaseModel)
- classmethod from_json_file(value) List[T]¶
Initialize a collection of model objects from a JSON string, file path, or file-like object