Skip to content

Commit 7003ed0

Browse files
authored
Merge pull request #143 from appwrite/dev
feat: Python SDK update for version 19.0.0
2 parents 6335c70 + 3550a46 commit 7003ed0

95 files changed

Lines changed: 2679 additions & 1457 deletions

File tree

Some content is hidden

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

.github/workflows/publish.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ jobs:
99
runs-on: ubuntu-latest
1010
steps:
1111
- name: Check out code
12-
uses: actions/checkout@v6
12+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1313

1414
- name: Set up Python
15-
uses: actions/setup-python@v6
15+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
1616
with:
1717
python-version: '3.9'
1818

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
# Change Log
22

3+
## 19.0.0
4+
5+
* Breaking: Renamed `AuthMethod` enum to `ProjectAuthMethodId`
6+
* Breaking: Renamed `EmailTemplateType` to `ProjectEmailTemplateId` and `EmailTemplateLocale` to `ProjectEmailTemplateLocale`
7+
* Breaking: Renamed `ServiceId` to `ProjectServiceId`, `ProtocolId` to `ProjectProtocolId`, `Secure` to `ProjectSMTPSecure`, `ProjectPolicy` to `ProjectPolicyId`
8+
* Breaking: Replaced `Scopes` enum with `ProjectKeyScopes` for project key endpoints
9+
* Breaking: Removed `update_deny_canonical_email_policy`; replaced with `update_deny_aliased_email_policy`, `update_deny_disposable_email_policy`, and `update_deny_free_email_policy`
10+
* Breaking: Removed `AuthProvider` model; use new `ProjectOAuthProviderId` enum instead
11+
* Added: `Project.get` method to fetch current project details
12+
* Added: `Advisor`, `Presences`, and `Usage` services
13+
* Added: `Insight`, `Presence`, `Report`, `UsageEvent`, and `UsageGauge` models with list variants
14+
* Added: `ProjectAuthMethod`, `ProjectProtocol`, and `ProjectService` models
15+
* Added: `ProjectOAuthProviderId` and `ProjectOAuth2GooglePrompt` enums
16+
* Updated: `Project`, `Database`, and `OAuth2Google` model schemas
17+
* Updated: `X-Appwrite-Response-Format` header to `1.9.5`
18+
319
## 18.1.0
420

521
* Added: Introduced `bigint` create/update APIs for legacy Databases attributes

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
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.9.4-blue.svg?style=flat-square)
4+
![Version](https://img.shields.io/badge/api%20version-1.9.5-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)

appwrite/client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ def __init__(self):
1515
self._endpoint = 'https://cloud.appwrite.io/v1'
1616
self._global_headers = {
1717
'content-type': '',
18-
'user-agent' : f'AppwritePythonSDK/18.1.0 ({platform.uname().system}; {platform.uname().version}; {platform.uname().machine})',
18+
'user-agent' : f'AppwritePythonSDK/19.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': '18.1.0',
23-
'X-Appwrite-Response-Format' : '1.9.4',
22+
'x-sdk-version': '19.0.0',
23+
'X-Appwrite-Response-Format' : '1.9.5',
2424
}
2525

2626
def set_self_signed(self, status=True):

appwrite/encoders/value_class_encoder.py

Lines changed: 30 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,16 @@
2424
from ..enums.name import Name
2525
from ..enums.message_priority import MessagePriority
2626
from ..enums.smtp_encryption import SmtpEncryption
27-
from ..enums.auth_method import AuthMethod
28-
from ..enums.project_policy import ProjectPolicy
29-
from ..enums.protocol_id import ProtocolId
30-
from ..enums.service_id import ServiceId
31-
from ..enums.secure import Secure
32-
from ..enums.email_template_type import EmailTemplateType
33-
from ..enums.email_template_locale import EmailTemplateLocale
27+
from ..enums.project_auth_method_id import ProjectAuthMethodId
28+
from ..enums.project_key_scopes import ProjectKeyScopes
29+
from ..enums.project_o_auth2_google_prompt import ProjectOAuth2GooglePrompt
30+
from ..enums.project_o_auth_provider_id import ProjectOAuthProviderId
31+
from ..enums.project_policy_id import ProjectPolicyId
32+
from ..enums.project_protocol_id import ProjectProtocolId
33+
from ..enums.project_service_id import ProjectServiceId
34+
from ..enums.project_smtp_secure import ProjectSMTPSecure
35+
from ..enums.project_email_template_id import ProjectEmailTemplateId
36+
from ..enums.project_email_template_locale import ProjectEmailTemplateLocale
3437
from ..enums.status_code import StatusCode
3538
from ..enums.proxy_resource_type import ProxyResourceType
3639
from ..enums.framework import Framework
@@ -48,6 +51,7 @@
4851
from ..enums.deployment_status import DeploymentStatus
4952
from ..enums.execution_trigger import ExecutionTrigger
5053
from ..enums.execution_status import ExecutionStatus
54+
from ..enums.o_auth2_google_prompt import OAuth2GooglePrompt
5155
from ..enums.platform_type import PlatformType
5256
from ..enums.health_antivirus_status import HealthAntivirusStatus
5357
from ..enums.health_check_status import HealthCheckStatus
@@ -132,25 +136,34 @@ def default(self, o):
132136
if isinstance(o, SmtpEncryption):
133137
return o.value
134138

135-
if isinstance(o, AuthMethod):
139+
if isinstance(o, ProjectAuthMethodId):
136140
return o.value
137141

138-
if isinstance(o, ProjectPolicy):
142+
if isinstance(o, ProjectKeyScopes):
139143
return o.value
140144

141-
if isinstance(o, ProtocolId):
145+
if isinstance(o, ProjectOAuth2GooglePrompt):
142146
return o.value
143147

144-
if isinstance(o, ServiceId):
148+
if isinstance(o, ProjectOAuthProviderId):
145149
return o.value
146150

147-
if isinstance(o, Secure):
151+
if isinstance(o, ProjectPolicyId):
148152
return o.value
149153

150-
if isinstance(o, EmailTemplateType):
154+
if isinstance(o, ProjectProtocolId):
151155
return o.value
152156

153-
if isinstance(o, EmailTemplateLocale):
157+
if isinstance(o, ProjectServiceId):
158+
return o.value
159+
160+
if isinstance(o, ProjectSMTPSecure):
161+
return o.value
162+
163+
if isinstance(o, ProjectEmailTemplateId):
164+
return o.value
165+
166+
if isinstance(o, ProjectEmailTemplateLocale):
154167
return o.value
155168

156169
if isinstance(o, StatusCode):
@@ -204,6 +217,9 @@ def default(self, o):
204217
if isinstance(o, ExecutionStatus):
205218
return o.value
206219

220+
if isinstance(o, OAuth2GooglePrompt):
221+
return o.value
222+
207223
if isinstance(o, PlatformType):
208224
return o.value
209225

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from enum import Enum
2+
3+
class OAuth2GooglePrompt(Enum):
4+
NONE = "none"
5+
CONSENT = "consent"
6+
SELECT_ACCOUNT = "select_account"

appwrite/enums/o_auth_provider.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,3 @@ class OAuthProvider(Enum):
4444
YANDEX = "yandex"
4545
ZOHO = "zoho"
4646
ZOOM = "zoom"
47-
GITHUBIMAGINE = "githubImagine"
48-
GOOGLEIMAGINE = "googleImagine"
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from enum import Enum
22

3-
class AuthMethod(Enum):
3+
class ProjectAuthMethodId(Enum):
44
EMAIL_PASSWORD = "email-password"
55
MAGIC_URL = "magic-url"
66
EMAIL_OTP = "email-otp"

appwrite/enums/email_template_type.py renamed to appwrite/enums/project_email_template_id.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from enum import Enum
22

3-
class EmailTemplateType(Enum):
3+
class ProjectEmailTemplateId(Enum):
44
VERIFICATION = "verification"
55
MAGICSESSION = "magicSession"
66
RECOVERY = "recovery"

appwrite/enums/email_template_locale.py renamed to appwrite/enums/project_email_template_locale.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from enum import Enum
22

3-
class EmailTemplateLocale(Enum):
3+
class ProjectEmailTemplateLocale(Enum):
44
AF = "af"
55
AR_AE = "ar-ae"
66
AR_BH = "ar-bh"

0 commit comments

Comments
 (0)