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.
# before
context.log("Total users: " + str(response["total"]))

# after
context.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-apps Bot 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

Filename Overview
python/starter/src/main.py Updates starter authentication-header handling and reads the SDK user-list total from its typed model.
python-ml/starter/src/main.py Applies the typed user-list response access and optional request-header lookup to the ML starter.
python/storage-cleaner/src/appwrite_service.py Reads typed file-list responses and file IDs while retaining the existing concurrent deletion flow.
python/sync_with_algolia/src/main.py Converts typed Appwrite documents into plain Algolia records while preserving IDs for pagination and indexing.
python/sync_with_meilisearch/src/main.py Converts typed documents into Meilisearch records with $id retained as the primary key.
python/sync_with_qdrant/src/appwrite.py Returns typed documents and uses their IDs for cursor-based pagination.
python/sync_with_qdrant/src/main.py Builds serializable embedding and Qdrant payloads from each typed document’s ID and data.
.github/workflows/audit.yml Updates 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 main Aug 15, 2026
11 checks passed
@ChiragAgg5k
ChiragAgg5k deleted the fix/python-sdk-model-access branch August 15, 2026 08:09
Sign up for free to 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