From de3b3a188c35535ab010a60032b3e68c41336532 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Sat, 24 Oct 2026 12:37:16 +0100 Subject: [PATCH 1/2] feat!: release Python SDK 27.0.0 with patched HTTP dependencies --- .github/workflows/publish.yml | 2 +- CHANGELOG.md | 5 +++++ README.md | 2 +- appwrite/client.py | 2 +- pyproject.toml | 10 +++++----- requirements.txt | 3 ++- setup.py | 10 +++++----- 7 files changed, 20 insertions(+), 14 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index dfbf4972..b95cf1af 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -28,7 +28,7 @@ jobs: - name: Set up Python uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: - python-version: '3.9' + python-version: '3.10' - name: Build package run: | diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f0982d9..87c43942 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Change Log +## 27.0.0 + +* Breaking: raised the minimum supported Python version from 3.9 to 3.10 +* Updated: required Requests >=2.34.2,<3 and urllib3 >=2.8.0,<3 + ## 26.0.0 * Breaking: `tables_db`, `documents_db` and `vectors_db` `create` and `update` take `description` before `specification` diff --git a/README.md b/README.md index be1d4ed8..b23533eb 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Appwrite is an open-source backend as a service server that abstracts and simpli ## Installation -Requires Python 3.9 or later. Install the [`appwrite`](https://pypi.org/project/appwrite/) package from PyPI: +Requires Python 3.10 or later. Install the [`appwrite`](https://pypi.org/project/appwrite/) package from PyPI: ```bash pip install appwrite diff --git a/appwrite/client.py b/appwrite/client.py index 4b4a5a0f..1ee8d9ad 100644 --- a/appwrite/client.py +++ b/appwrite/client.py @@ -23,7 +23,7 @@ def __init__(self): 'x-sdk-name': 'Python', 'x-sdk-platform': 'server', 'x-sdk-language': 'python', - 'x-sdk-version': '26.0.0', + 'x-sdk-version': '27.0.0', 'X-Appwrite-Response-Format': '2.5.0', } self._config = {} diff --git a/pyproject.toml b/pyproject.toml index a963b294..a3ca05da 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,10 +4,10 @@ build-backend = "setuptools.build_meta" [project] name = "appwrite" -version = "26.0.0" +version = "27.0.0" description = "Appwrite is an open-source self-hosted backend server that abstracts and simplifies complex and repetitive development tasks behind a very simple REST API" readme = "README.md" -requires-python = ">=3.9" +requires-python = ">=3.10" license = { text = "BSD-3-Clause" } authors = [ { name = "Appwrite Team", email = "team@appwrite.io" } @@ -16,7 +16,8 @@ maintainers = [ { name = "Appwrite Team", email = "team@appwrite.io" } ] dependencies = [ - "requests", + "requests>=2.34.2,<3", + "urllib3>=2.8.0,<3", "pydantic>=2,<3", ] classifiers = [ @@ -26,7 +27,6 @@ classifiers = [ "Topic :: Software Development", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", @@ -46,7 +46,7 @@ Repository = "https://github.com/appwrite/sdk-for-python" [tool.black] line-length = 120 skip-string-normalization = true -target-version = ['py39'] +target-version = ['py310'] [tool.setuptools.packages.find] include = ["appwrite*"] diff --git a/requirements.txt b/requirements.txt index b3386211..0fc9b23b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ -requests>=2.31,<3 +requests>=2.34.2,<3 +urllib3>=2.8.0,<3 requests_mock==1.12.1 pydantic>=2,<3 diff --git a/setup.py b/setup.py index 88f54765..09438025 100644 --- a/setup.py +++ b/setup.py @@ -8,7 +8,7 @@ setuptools.setup( name='appwrite', packages=setuptools.find_packages(), - version='26.0.0', + version='27.0.0', license='BSD-3-Clause', description='Appwrite is an open-source self-hosted backend server that abstracts and simplifies complex and repetitive development tasks behind a very simple REST API', long_description=long_description, @@ -18,12 +18,13 @@ maintainer='Appwrite Team', maintainer_email='team@appwrite.io', url='https://appwrite.io/support', - download_url='https://github.com/appwrite/sdk-for-python/archive/26.0.0.tar.gz', + download_url='https://github.com/appwrite/sdk-for-python/archive/27.0.0.tar.gz', install_requires=[ - 'requests', + 'requests>=2.34.2,<3', + 'urllib3>=2.8.0,<3', 'pydantic>=2,<3', ], - python_requires='>=3.9', + python_requires='>=3.10', classifiers=[ 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', @@ -31,7 +32,6 @@ 'Topic :: Software Development', 'License :: OSI Approved :: BSD License', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', From 6c1790b324dc8b788dfde084d4c0d82324b66ced Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Sat, 24 Oct 2026 12:38:25 +0100 Subject: [PATCH 2/2] fix: align release User-Agent with SDK version --- appwrite/client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appwrite/client.py b/appwrite/client.py index 1ee8d9ad..47f8757d 100644 --- a/appwrite/client.py +++ b/appwrite/client.py @@ -19,7 +19,7 @@ def __init__(self): self._endpoint = 'https://cloud.appwrite.io/v1' self._global_headers = { 'content-type': '', - 'user-agent': f'AppwritePythonSDK/26.0.0 ({platform.uname().system}; {platform.uname().version}; {platform.uname().machine})', + 'user-agent': f'AppwritePythonSDK/27.0.0 ({platform.uname().system}; {platform.uname().version}; {platform.uname().machine})', 'x-sdk-name': 'Python', 'x-sdk-platform': 'server', 'x-sdk-language': 'python',