What's Changed
- Breaking change: All service methods now return typed Pydantic models instead of
Dict[str, Any] - Breaking change: Models with dynamic fields (e.g.,
Row,Document) now store user-defined data in a typed.dataproperty instead of direct attribute access - Breaking change: Added
pydantic>=2,<3as a required dependency - Breaking change: Minimum Python version raised from 3.5 to 3.9
- Added
AppwriteModelbase class (PydanticBaseModel) for all response models withfrom_dict()andto_dict()helpers - Added 130+ typed model classes under
appwrite/models/(e.g.,Database,Collection,Document,User,Session,File,Bucket, etc.) - Added Generic[T] support for models with dynamic fields (e.g.,
Row,Document) - passmodel_type=YourModelto methods likeget_row()orlist_rows()for type-safe access to user-defined data viaresult.data.field_name - Updated README with
uv add appwriteinstallation example - Updated all doc examples to use typed response models (e.g.,
result: TemplateFunctionList = functions.list_templates(...))
Full Changelog: 15.3.0...16.0.0rc1