# Projects

Canonical page: https://docs.ovok.com/python-sdk/namespaces/projects

`ovok.projects` lists the projects the signed-in user administers and manages the current
project's members, features and settings.

## List projects and members [#list-projects-and-members]

Both lists return a [`Page`](/python-sdk/getting-started); `auto_paging_iter()` walks every page.

```python
from ovok_sdk import Ovok

ovok = Ovok("https://api.sandbox.ovok.com", "your-tenant")
for project in ovok.projects.list().auto_paging_iter():
    print(project["name"])

members = ovok.projects.members.list({"count": 50})
```

## Manage members [#manage-members]

```python
ovok.projects.members.invite({"email": "nurse@example.com", "role": "practitioner"})
ovok.projects.members.update("membership-id", {"admin": True})
ovok.projects.members.remove("membership-id")
```

## Change features and settings [#change-features-and-settings]

`settings.update()` turns an on/off setting on or off; `settings.update_text()` sets or clears a
text setting. `features.update()` replaces the whole feature list.

```python
settings = ovok.projects.settings.retrieve()
ovok.projects.settings.update("patient-registration", True)
ovok.projects.settings.update_text("support-email", "support@example.com")

features = ovok.projects.features.retrieve()
```

## API reference [#api-reference]

See [`ovok_sdk.resources.platform`](/python-sdk/reference/resources/platform) for every method, parameter and error.
