Skip to content

Dev #109

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 18, 2025
Merged

Dev #109

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Appwrite Python SDK

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

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

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)

Expand Down
6 changes: 3 additions & 3 deletions appwrite/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ def __init__(self):
self._endpoint = 'https://cloud.appwrite.io/v1'
self._global_headers = {
'content-type': '',
'user-agent' : f'AppwritePythonSDK/10.0.0 ({platform.uname().system}; {platform.uname().version}; {platform.uname().machine})',
'user-agent' : f'AppwritePythonSDK/11.0.0 ({platform.uname().system}; {platform.uname().version}; {platform.uname().machine})',
'x-sdk-name': 'Python',
'x-sdk-platform': 'server',
'x-sdk-language': 'python',
'x-sdk-version': '10.0.0',
'X-Appwrite-Response-Format' : '1.6.0',
'x-sdk-version': '11.0.0',
'X-Appwrite-Response-Format' : '1.7.0',
}

def set_self_signed(self, status=True):
Expand Down
20 changes: 20 additions & 0 deletions appwrite/encoders/value_class_encoder.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,15 @@
from ..enums.relation_mutate import RelationMutate
from ..enums.index_type import IndexType
from ..enums.runtime import Runtime
from ..enums.vcs_deployment_type import VCSDeploymentType
from ..enums.deployment_download_type import DeploymentDownloadType
from ..enums.execution_method import ExecutionMethod
from ..enums.name import Name
from ..enums.message_priority import MessagePriority
from ..enums.smtp_encryption import SmtpEncryption
from ..enums.framework import Framework
from ..enums.build_runtime import BuildRuntime
from ..enums.adapter import Adapter
from ..enums.compression import Compression
from ..enums.image_gravity import ImageGravity
from ..enums.image_format import ImageFormat
Expand Down Expand Up @@ -51,6 +56,12 @@ def default(self, o):
if isinstance(o, Runtime):
return o.value

if isinstance(o, VCSDeploymentType):
return o.value

if isinstance(o, DeploymentDownloadType):
return o.value

if isinstance(o, ExecutionMethod):
return o.value

Expand All @@ -63,6 +74,15 @@ def default(self, o):
if isinstance(o, SmtpEncryption):
return o.value

if isinstance(o, Framework):
return o.value

if isinstance(o, BuildRuntime):
return o.value

if isinstance(o, Adapter):
return o.value

if isinstance(o, Compression):
return o.value

Expand Down
5 changes: 5 additions & 0 deletions appwrite/enums/adapter.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from enum import Enum

class Adapter(Enum):
STATIC = "static"
SSR = "ssr"
66 changes: 66 additions & 0 deletions appwrite/enums/build_runtime.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
from enum import Enum

class BuildRuntime(Enum):
NODE_14_5 = "node-14.5"
NODE_16_0 = "node-16.0"
NODE_18_0 = "node-18.0"
NODE_19_0 = "node-19.0"
NODE_20_0 = "node-20.0"
NODE_21_0 = "node-21.0"
NODE_22 = "node-22"
PHP_8_0 = "php-8.0"
PHP_8_1 = "php-8.1"
PHP_8_2 = "php-8.2"
PHP_8_3 = "php-8.3"
RUBY_3_0 = "ruby-3.0"
RUBY_3_1 = "ruby-3.1"
RUBY_3_2 = "ruby-3.2"
RUBY_3_3 = "ruby-3.3"
PYTHON_3_8 = "python-3.8"
PYTHON_3_9 = "python-3.9"
PYTHON_3_10 = "python-3.10"
PYTHON_3_11 = "python-3.11"
PYTHON_3_12 = "python-3.12"
PYTHON_ML_3_11 = "python-ml-3.11"
PYTHON_ML_3_12 = "python-ml-3.12"
DENO_1_21 = "deno-1.21"
DENO_1_24 = "deno-1.24"
DENO_1_35 = "deno-1.35"
DENO_1_40 = "deno-1.40"
DENO_1_46 = "deno-1.46"
DENO_2_0 = "deno-2.0"
DART_2_15 = "dart-2.15"
DART_2_16 = "dart-2.16"
DART_2_17 = "dart-2.17"
DART_2_18 = "dart-2.18"
DART_2_19 = "dart-2.19"
DART_3_0 = "dart-3.0"
DART_3_1 = "dart-3.1"
DART_3_3 = "dart-3.3"
DART_3_5 = "dart-3.5"
DOTNET_6_0 = "dotnet-6.0"
DOTNET_7_0 = "dotnet-7.0"
DOTNET_8_0 = "dotnet-8.0"
JAVA_8_0 = "java-8.0"
JAVA_11_0 = "java-11.0"
JAVA_17_0 = "java-17.0"
JAVA_18_0 = "java-18.0"
JAVA_21_0 = "java-21.0"
JAVA_22 = "java-22"
SWIFT_5_5 = "swift-5.5"
SWIFT_5_8 = "swift-5.8"
SWIFT_5_9 = "swift-5.9"
SWIFT_5_10 = "swift-5.10"
KOTLIN_1_6 = "kotlin-1.6"
KOTLIN_1_8 = "kotlin-1.8"
KOTLIN_1_9 = "kotlin-1.9"
KOTLIN_2_0 = "kotlin-2.0"
CPP_17 = "cpp-17"
CPP_20 = "cpp-20"
BUN_1_0 = "bun-1.0"
BUN_1_1 = "bun-1.1"
GO_1_23 = "go-1.23"
STATIC_1 = "static-1"
FLUTTER_3_24 = "flutter-3.24"
FLUTTER_3_27 = "flutter-3.27"
FLUTTER_3_29 = "flutter-3.29"
5 changes: 5 additions & 0 deletions appwrite/enums/deployment_download_type.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from enum import Enum

class DeploymentDownloadType(Enum):
SOURCE = "source"
OUTPUT = "output"
17 changes: 17 additions & 0 deletions appwrite/enums/framework.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from enum import Enum

class Framework(Enum):
ANALOG = "analog"
ANGULAR = "angular"
NEXTJS = "nextjs"
REACT = "react"
NUXT = "nuxt"
VUE = "vue"
SVELTEKIT = "sveltekit"
ASTRO = "astro"
REMIX = "remix"
LYNX = "lynx"
FLUTTER = "flutter"
REACT_NATIVE = "react-native"
VITE = "vite"
OTHER = "other"
1 change: 0 additions & 1 deletion appwrite/enums/image_format.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
class ImageFormat(Enum):
JPG = "jpg"
JPEG = "jpeg"
GIF = "gif"
PNG = "png"
WEBP = "webp"
HEIC = "heic"
Expand Down
4 changes: 4 additions & 0 deletions appwrite/enums/runtime.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ class Runtime(Enum):
PYTHON_3_11 = "python-3.11"
PYTHON_3_12 = "python-3.12"
PYTHON_ML_3_11 = "python-ml-3.11"
PYTHON_ML_3_12 = "python-ml-3.12"
DENO_1_21 = "deno-1.21"
DENO_1_24 = "deno-1.24"
DENO_1_35 = "deno-1.35"
Expand All @@ -32,6 +33,7 @@ class Runtime(Enum):
DART_2_16 = "dart-2.16"
DART_2_17 = "dart-2.17"
DART_2_18 = "dart-2.18"
DART_2_19 = "dart-2.19"
DART_3_0 = "dart-3.0"
DART_3_1 = "dart-3.1"
DART_3_3 = "dart-3.3"
Expand Down Expand Up @@ -60,3 +62,5 @@ class Runtime(Enum):
GO_1_23 = "go-1.23"
STATIC_1 = "static-1"
FLUTTER_3_24 = "flutter-3.24"
FLUTTER_3_27 = "flutter-3.27"
FLUTTER_3_29 = "flutter-3.29"
6 changes: 6 additions & 0 deletions appwrite/enums/vcs_deployment_type.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from enum import Enum

class VCSDeploymentType(Enum):
BRANCH = "branch"
COMMIT = "commit"
TAG = "tag"
6 changes: 3 additions & 3 deletions appwrite/services/avatars.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def get_browser(self, code: Browser, width: float = None, height: float = None,
height : float
Image height. Pass an integer between 0 to 2000. Defaults to 100.
quality : float
Image quality. Pass an integer between 0 to 100. Defaults to 100.
Image quality. Pass an integer between 0 to 100. Defaults to keep existing image quality.

Returns
-------
Expand Down Expand Up @@ -68,7 +68,7 @@ def get_credit_card(self, code: CreditCard, width: float = None, height: float =
height : float
Image height. Pass an integer between 0 to 2000. Defaults to 100.
quality : float
Image quality. Pass an integer between 0 to 100. Defaults to 100.
Image quality. Pass an integer between 0 to 100. Defaults to keep existing image quality.

Returns
-------
Expand Down Expand Up @@ -144,7 +144,7 @@ def get_flag(self, code: Flag, width: float = None, height: float = None, qualit
height : float
Image height. Pass an integer between 0 to 2000. Defaults to 100.
quality : float
Image quality. Pass an integer between 0 to 100. Defaults to 100.
Image quality. Pass an integer between 0 to 100. Defaults to keep existing image quality.

Returns
-------
Expand Down
Loading