Skip to content

Commit de4ea57

Browse files
authored
Merge pull request #130 from appwrite/dev
2 parents dd6ff57 + fb184c2 commit de4ea57

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+1583
-104
lines changed

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Change Log
22

3+
## 15.0.0
4+
5+
* Add array-based enum parameters (e.g., `permissions: list[BrowserPermission]`).
6+
* Breaking change: `Output` enum has been removed; use `ImageFormat` instead.
7+
* Add `getQueueAudits` support to `Health` service.
8+
* Add longtext/mediumtext/text/varchar attribute and column helpers to `Databases` and `TablesDB` services.
9+
310
## 14.1.0
411

512
* Added ability to create columns and indexes synchronously while creating a table
@@ -62,4 +69,4 @@
6269

6370
## 9.0.3
6471

65-
* Update sdk to use Numpy-style docstrings
72+
* Update sdk to use Numpy-style docstrings

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2025 Appwrite (https://appwrite.io) and individual contributors.
1+
Copyright (c) 2026 Appwrite (https://appwrite.io) and individual contributors.
22
All rights reserved.
33

44
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# Appwrite Python SDK
22

33
![License](https://img.shields.io/github/license/appwrite/sdk-for-python.svg?style=flat-square)
4-
![Version](https://img.shields.io/badge/api%20version-1.8.0-blue.svg?style=flat-square)
4+
![Version](https://img.shields.io/badge/api%20version-1.8.1-blue.svg?style=flat-square)
55
[![Build Status](https://img.shields.io/travis/com/appwrite/sdk-generator?style=flat-square)](https://travis-ci.com/appwrite/sdk-generator)
66
[![Twitter Account](https://img.shields.io/twitter/follow/appwrite?color=00acee&label=twitter&style=flat-square)](https://twitter.com/appwrite)
77
[![Discord](https://img.shields.io/discord/564160730845151244?label=discord&style=flat-square)](https://appwrite.io/discord)
88

99
**This SDK is compatible with Appwrite server version 1.8.x. For older versions, please check [previous releases](https://github.com/appwrite/sdk-for-python/releases).**
1010

11-
Appwrite is an open-source backend as a service server that abstract and simplify complex and repetitive development tasks behind a very simple to use REST API. Appwrite aims to help you develop your apps faster and in a more secure way. Use the Python SDK to integrate your app with the Appwrite server to easily start interacting with all of Appwrite backend APIs and tools. For full API documentation and tutorials go to [https://appwrite.io/docs](https://appwrite.io/docs)
11+
Appwrite is an open-source backend as a service server that abstracts and simplifies complex and repetitive development tasks behind a very simple to use REST API. Appwrite aims to help you develop your apps faster and in a more secure way. Use the Python SDK to integrate your app with the Appwrite server to easily start interacting with all of Appwrite backend APIs and tools. For full API documentation and tutorials go to [https://appwrite.io/docs](https://appwrite.io/docs)
1212

1313
![Appwrite](https://github.com/appwrite/appwrite/raw/main/public/images/github.png)
1414

appwrite/client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ def __init__(self):
1515
self._endpoint = 'https://cloud.appwrite.io/v1'
1616
self._global_headers = {
1717
'content-type': '',
18-
'user-agent' : f'AppwritePythonSDK/14.1.0 ({platform.uname().system}; {platform.uname().version}; {platform.uname().machine})',
18+
'user-agent' : f'AppwritePythonSDK/15.0.0 ({platform.uname().system}; {platform.uname().version}; {platform.uname().machine})',
1919
'x-sdk-name': 'Python',
2020
'x-sdk-platform': 'server',
2121
'x-sdk-language': 'python',
22-
'x-sdk-version': '14.1.0',
22+
'x-sdk-version': '15.0.0',
2323
'X-Appwrite-Response-Format' : '1.8.0',
2424
}
2525

appwrite/encoders/value_class_encoder.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@
77
from ..enums.flag import Flag
88
from ..enums.theme import Theme
99
from ..enums.timezone import Timezone
10-
from ..enums.output import Output
10+
from ..enums.browser_permission import BrowserPermission
11+
from ..enums.image_format import ImageFormat
1112
from ..enums.relationship_type import RelationshipType
1213
from ..enums.relation_mutate import RelationMutate
1314
from ..enums.index_type import IndexType
15+
from ..enums.order_by import OrderBy
1416
from ..enums.runtime import Runtime
17+
from ..enums.scopes import Scopes
1518
from ..enums.template_reference_type import TemplateReferenceType
1619
from ..enums.vcs_reference_type import VCSReferenceType
1720
from ..enums.deployment_download_type import DeploymentDownloadType
@@ -24,7 +27,7 @@
2427
from ..enums.adapter import Adapter
2528
from ..enums.compression import Compression
2629
from ..enums.image_gravity import ImageGravity
27-
from ..enums.image_format import ImageFormat
30+
from ..enums.roles import Roles
2831
from ..enums.password_hash import PasswordHash
2932
from ..enums.messaging_provider_type import MessagingProviderType
3033
from ..enums.database_type import DatabaseType
@@ -64,7 +67,10 @@ def default(self, o):
6467
if isinstance(o, Timezone):
6568
return o.value
6669

67-
if isinstance(o, Output):
70+
if isinstance(o, BrowserPermission):
71+
return o.value
72+
73+
if isinstance(o, ImageFormat):
6874
return o.value
6975

7076
if isinstance(o, RelationshipType):
@@ -76,9 +82,15 @@ def default(self, o):
7682
if isinstance(o, IndexType):
7783
return o.value
7884

85+
if isinstance(o, OrderBy):
86+
return o.value
87+
7988
if isinstance(o, Runtime):
8089
return o.value
8190

91+
if isinstance(o, Scopes):
92+
return o.value
93+
8294
if isinstance(o, TemplateReferenceType):
8395
return o.value
8496

@@ -115,7 +127,7 @@ def default(self, o):
115127
if isinstance(o, ImageGravity):
116128
return o.value
117129

118-
if isinstance(o, ImageFormat):
130+
if isinstance(o, Roles):
119131
return o.value
120132

121133
if isinstance(o, PasswordHash):
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
from enum import Enum
2+
3+
class BrowserPermission(Enum):
4+
GEOLOCATION = "geolocation"
5+
CAMERA = "camera"
6+
MICROPHONE = "microphone"
7+
NOTIFICATIONS = "notifications"
8+
MIDI = "midi"
9+
PUSH = "push"
10+
CLIPBOARD_READ = "clipboard-read"
11+
CLIPBOARD_WRITE = "clipboard-write"
12+
PAYMENT_HANDLER = "payment-handler"
13+
USB = "usb"
14+
BLUETOOTH = "bluetooth"
15+
ACCELEROMETER = "accelerometer"
16+
GYROSCOPE = "gyroscope"
17+
MAGNETOMETER = "magnetometer"
18+
AMBIENT_LIGHT_SENSOR = "ambient-light-sensor"
19+
BACKGROUND_SYNC = "background-sync"
20+
PERSISTENT_STORAGE = "persistent-storage"
21+
SCREEN_WAKE_LOCK = "screen-wake-lock"
22+
WEB_SHARE = "web-share"
23+
XR_SPATIAL_TRACKING = "xr-spatial-tracking"

appwrite/enums/deployment_status.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ class DeploymentStatus(Enum):
55
PROCESSING = "processing"
66
BUILDING = "building"
77
READY = "ready"
8+
CANCELED = "canceled"
89
FAILED = "failed"

appwrite/enums/name.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,6 @@ class Name(Enum):
1111
V1_WEBHOOKS = "v1-webhooks"
1212
V1_CERTIFICATES = "v1-certificates"
1313
V1_BUILDS = "v1-builds"
14+
V1_SCREENSHOTS = "v1-screenshots"
1415
V1_MESSAGING = "v1-messaging"
1516
V1_MIGRATIONS = "v1-migrations"

appwrite/enums/o_auth_provider.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,3 @@ class OAuthProvider(Enum):
4040
YANDEX = "yandex"
4141
ZOHO = "zoho"
4242
ZOOM = "zoom"
43-
MOCK = "mock"

appwrite/enums/order_by.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from enum import Enum
2+
3+
class OrderBy(Enum):
4+
ASC = "asc"
5+
DESC = "desc"

0 commit comments

Comments
 (0)