Skip to content

Fix Python templates for Appwrite SDK 23 models - #356

Merged
ChiragAgg5k merged 2 commits into
mainfrom
fix/python-sdk-model-access
Aug 15, 2026
Merged

Fix Python templates for Appwrite SDK 23 models#356
ChiragAgg5k merged 2 commits into
mainfrom
fix/python-sdk-model-access

Conversation

@ChiragAgg5k

Copy link
Copy Markdown
Member

Summary

  • Python SDK 23 returns Pydantic models, so dict access like response["total"] raised TypeError before the /ping check and 500'd every path.
  • Starters and other Python templates now read typed fields (response.total, document.id, document.data, file.id) and pin appwrite==23.0.0.
# beforecontext.log("Total users: "+str(response["total"]))
# aftercontext.log("Total users: "+str(response.total))

Test plan

  • appwrite run the Python starter and confirm GET /ping returns Pong and GET / returns the motto JSON
  • Confirm a successful users.list() logs Total users: N instead of crashing
  • Confirm pip install -r requirements.txt installs appwrite==23.0.0
  • Smoke the Algolia / Meilisearch / Qdrant / storage-cleaner templates if those flows are available

Made with Cursor

SDK 23 returns Pydantic models, so dict access like response["total"] 500s every path including /ping. Pin appwrite==23.0.0 and read typed fields instead.
Co-authored-by: Cursor <cursoragent@cursor.com>
@greptile-apps

greptile-appsBot commented Aug 15, 2026

Copy link
Copy Markdown

Greptile Summary

The PR updates Python templates for the typed Pydantic response models returned by Appwrite SDK 23.

  • Pins the affected Python templates to appwrite==23.0.0.
  • Replaces dictionary access with typed response, document, and file attributes.
  • Reconstructs plain search-index and vector payloads from document IDs and data.
  • Updates the audit workflow’s Go patch version.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

FilenameOverview
python/starter/src/main.pyUpdates starter authentication-header handling and reads the SDK user-list total from its typed model.
python-ml/starter/src/main.pyApplies the typed user-list response access and optional request-header lookup to the ML starter.
python/storage-cleaner/src/appwrite_service.pyReads typed file-list responses and file IDs while retaining the existing concurrent deletion flow.
python/sync_with_algolia/src/main.pyConverts typed Appwrite documents into plain Algolia records while preserving IDs for pagination and indexing.
python/sync_with_meilisearch/src/main.pyConverts typed documents into Meilisearch records with $id retained as the primary key.
python/sync_with_qdrant/src/appwrite.pyReturns typed documents and uses their IDs for cursor-based pagination.
python/sync_with_qdrant/src/main.pyBuilds serializable embedding and Qdrant payloads from each typed document’s ID and data.
.github/workflows/audit.ymlUpdates setup-go from Go 1.26.5 to 1.26.6 in three audit jobs.

Reviews (2): Last reviewed commit: "fix: bump CI Go toolchain to 1.26.6" | Re-trigger Greptile

govulncheck fails on stdlib advisories in 1.26.5 that are patched in 1.26.6.
Co-authored-by: Cursor <cursoragent@cursor.com>
@ChiragAgg5k
ChiragAgg5k merged commit 549e733 into mainAug 15, 2026
11 checks passed
@ChiragAgg5k
ChiragAgg5k deleted the fix/python-sdk-model-access branch August 15, 2026 08:09
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@ChiragAgg5k@loks0n