ProjectController#
- class pyinaturalist.controllers.ProjectController(client)#
Bases:
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:
q – Project name must begin with this value
id – Must have this ID
not_id – Must not have this ID
lat – Must be within a
radius
kilometer circle around this lat/lnglng – Must be within a
radius
kilometer circle around this lat/lngradius – Distance from center (
(lat, lng)
) to search, in kilometers. Defaults to 500km.featured – Must be marked featured for the relevant site
noteworthy – Must be marked noteworthy for the relevant site
place_id – Must be in the place with this ID
site_id – Site ID that applies to
featured
andnoteworthy
. Defaults to the site of the authenticated user, or to the main iNaturalist siterule_details – Return more information about project rules, for example return a full taxon object instead of simply an ID
type – Projects must be of this type
member_id – Project must have member with this user ID
has_params – Must have search parameter requirements
has_posts – Must have posts
order_by – 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 – Reverse the order of results; alias for
order='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 – Banner image for project page; ideally 760x320 px
description – Description shown on project page
icon – Image used as project icon. Should be at least 72x72 px and will be cropped to a square.
preferred_banner_color – Background color for project banner, as a RGB hex value (e.g.,
'#74ac00'
)prefers_banner_contain – Fit banner image without cropping
- Return type: