appwrite-python

Implements server-side Appwrite integrations in Python covering users, databases, storage, and functions.

Updated Sep 13, 2026
One-click install
npx skills add https://github.com/aadilmallick/myfitness-pal-clone --skill appwrite-python-aadilmallick
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: appwrite-python
Source: https://github.com/aadilmallick/myfitness-pal-clone/tree/main/.agents/skills/appwrite-python
Command: npx skills add https://github.com/aadilmallick/myfitness-pal-clone --skill appwrite-python-aadilmallick

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires appwrite.

What problem does it solve? Building server-side Python applications with Appwrite requires knowing the correct SDK patterns for authentication, database CRUD, file storage, and permissions, and mistakes like using deprecated classes or missing permission strings cause silent access failures. ## Core Features & Use Cases - Server SDK Setup: Configure an API-key client and use TablesDB, Users, Storage, Teams, and Functions services with modern patterns like keyword arguments and explicit string column types. - SSR Authentication: Implement email/password and OAuth2 login flows for Flask, Django, and FastAPI using separate admin and per-request session clients with secure cookie handling. - Permissions & Error Handling: Apply Permission and Role helpers correctly and handle AppwriteException codes like 401, 409, and 429. - Use Case: You are building a FastAPI backend that lets users sign in, store profile rows in an Appwrite table, and upload avatar files. This Skill provides the exact client setup, session cookie flow, row CRUD with queries, and permission strings to ship it correctly. ## Quick Start Ask the AI to write a Python script using the Appwrite SDK that creates a table, inserts a row with user-scoped permissions, and queries it back.

Frequently Asked Questions about appwrite-python

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up the Appwrite Python SDK for a server application?

Install the appwrite package with pip, then create a Client configured with set_endpoint, set_project, and set_key using an API key stored in an environment variable. From that client you instantiate services like Users, TablesDB, Storage, and Functions.

How do I query rows in Appwrite TablesDB with Python?

Use tables_db.list_rows with Query helpers such as Query.equal, Query.greater_than, Query.order_desc, and Query.limit. For pagination prefer Query.cursor_after over offset, and use Query.select to return only specific fields.

Should I use Databases or TablesDB in the Appwrite Python SDK?

Use TablesDB for all new code because the Databases class is deprecated. Only use Databases when an existing codebase already relies on it or it is explicitly requested.

How does Appwrite SSR authentication work in Flask or FastAPI?

Use two clients: an admin client with an API key that creates sessions, and a per-request session client that reads the a_session_<PROJECT_ID> cookie. Set the cookie with httponly, secure, and samesite='Strict' after calling create_email_password_session or create_session.

Why do users get 401 or 403 errors on Appwrite rows I created?

Appwrite grants no access by default, so rows created without permission strings are inaccessible to everyone. Pass permissions like Permission.read(Role.user('[USER_ID]')) when creating rows, or configure table-level permissions, and avoid Role.any() with write actions.

How do I upload files to Appwrite Storage from Python?

Use storage.create_file with a bucket ID, a unique file ID, and an InputFile built via from_path, from_bytes, or from_string. You can attach permission strings in the same call to control who can read, update, or delete the file.