ProjectController#
- class pyinaturalist.controllers.ProjectController(client)#
Bases:
pyinaturalist.controllers.base_controller.BaseController
Controller for Project requests
Methods
- __init__(client)#
- add_observations(project_id, *observation_ids, **params)#
Add an observation to a project
- add_users(project_id, *user_ids, **params)#
Add users to project observation rules
Notes
This only affects observation rules, not project membership
- delete_users(project_id, *user_ids, **params)#
Remove users from project observation rules
Notes
This only affects observation rules, not project membership
- from_ids(*project_ids, **params)#
Get projects by ID
- search(**params)#
Search projects
Notes
API reference: GET /projects
- Parameters
not_id (
Union
[int
,Iterable
[int
],None
]) – Must not have this IDlat (
Optional
[float
]) – Must be within aradius
kilometer circle around this lat/lnglng (
Optional
[float
]) – Must be within aradius
kilometer circle around this lat/lngradius (
int
) – Distance from center ((lat, lng)
) to search, in kilometers. Defaults to 500km.featured (
Optional
[bool
]) – Must be marked featured for the relevant sitenoteworthy (
Optional
[bool
]) – Must be marked noteworthy for the relevant siteplace_id (
Union
[int
,Iterable
[int
],None
]) – Must be in the place with this IDsite_id (
Optional
[int
]) – Site ID that applies tofeatured
andnoteworthy
. Defaults to the site of the authenticated user, or to the main iNaturalist siterule_details (
Optional
[bool
]) – Return more information about project rules, for example return a full taxon object instead of simply an IDtype (
Union
[str
,Iterable
[str
],None
]) – Projects must be of this typemember_id (
Optional
[int
]) – Project must have member with this user IDhas_params (
Optional
[bool
]) – Must have search parameter requirementsorder_by (
Optional
[str
]) – Sort order.distance
only applies if lat and lng are specified.featured
only applies iffeatured
ornoteworthy
are true. unless otherwise notedorder_by – Field to sort on
reverse (
Optional
[bool
]) – Reverse the order of results; alias fororder='descending'
- Return type
- update(project_id, **params)#
Update a project
Notes
Undocumented endpoint; may be subject to braking changes in the future
admin_attributes
andproject_observation_rules_attributes
each accept a list of dicts in the formats shown below. These can be obtained fromget_projects()
, modified, and then passed to this function:{ "admin_attributes": [ {"id": int, "role": str, "user_id": int, "_destroy": bool}, ], "project_observation_rules_attributes": [ {"operator": str, "operand_type": str, "operand_id": int, "id": int, "_destroy": bool}, ], }
- Parameters
project_id (
Union
[int
,str
]) – Numeric project ID or slug (the short name shown in project URL)cover (
Optional
[str
]) – Banner image for project page; ideally 760x320 pxdescription (
Optional
[str
]) – Description shown on project pageicon (
Optional
[str
]) – Image used as project icon. Should be at least 72x72 px and will be cropped to a square.preferred_banner_color (
Optional
[str
]) – Background color for project banner, as a RGB hex value (e.g.,'#74ac00'
)prefers_banner_contain (
Optional
[bool
]) – Fit banner image without cropping
- Return type