appwrite-python

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

1|1|Updated Jul 31, 2026
One-click install
npx skills add https://github.com/appwrite/agent --skill appwrite-python-appwrite
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: appwrite-python
Source: https://github.com/appwrite/agent/tree/main/.agents/skills/appwrite-python
Command: npx skills add https://github.com/appwrite/agent --skill appwrite-python-appwrite

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 operations, file storage, and permissions, and mistakes like using deprecated classes or missing permission strings cause broken or insecure code. ## Core Features & Use Cases - Server SDK Patterns: Covers client setup with API keys, user management, TablesDB CRUD with the full Query API, file storage uploads, teams, and serverless function execution. - SSR Authentication: Provides complete session-based auth flows for Flask, Django, and FastAPI, including email/password login, OAuth2 callbacks, and secure cookie handling. - Permissions & Error Handling: Documents the Permission and Role helpers, common error codes, and pitfalls like forgetting permissions or granting write access to Role.any(). - Use Case: A developer building a FastAPI backend can use this Skill to generate correct code for creating tables with typed columns, querying rows with filters, and handling user login sessions. ## Quick Start Use the appwrite-python skill to write a FastAPI endpoint that creates a row in an Appwrite table with proper permissions.

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 server-side use?▼

Install the appwrite package with pip, then create a Client configured with set_endpoint, set_project, and set_key using your API key. From there you instantiate services like Users, TablesDB, or Storage against that client.

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.limit, and Query.cursor_after for pagination. The skill recommends keyword arguments and cursor-based pagination over offsets.

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 maintaining an existing codebase that already relies on it or when explicitly requested.

How does SSR authentication work with Appwrite and Flask or FastAPI?▼

Use an admin client with an API key to create sessions, then store the session secret in an httponly cookie named a_session_<PROJECT_ID>. Per-request, build a session client with set_session to act on behalf of the user.

Why can't users access rows I created with the Appwrite API?▼

Appwrite grants no access by default, so rows created without explicit permissions are inaccessible to everyone. Pass Permission and Role strings, such as Permission.read(Role.user('[USER_ID]')), when creating the row or configure table-level permissions.

What string column types does Appwrite TablesDB support?▼

TablesDB supports varchar, text, mediumtext, and longtext, replacing the deprecated string type. Varchar is stored inline and fully indexable up to 768 size, while the text variants are stored off-page and support only prefix indexing.