Skip to content

Create/update observations with Observation objects #545

@JWCook

Description

@JWCook

Currently iNatClient.observations.create() and update() take individual keyword arguments, same as v1.create_observation(), but I would like it to optionally accept an Observation instead. This would be useful for observations loaded from a file (CSV, JSON, etc.) via pyinaturalist-convert. See also #542

A small problem is that only a subset of Observation attributes can be used to create a new observation. For example, you can't add identifications, comments, or a full Taxon record (aside from name/ID) that way. It might be sufficient to just ignore any extra attributes, and log a warning indicating which attributes were ignored. For example:

>>> obs = Observation(
...     ...,
...     identifications=[Identification(...)],
...     comments=[Comment(...)],
... )
>>> client.observations.create(obs)
'[WARNING] Read-only observation attributes ignored: identifications, comments'

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions