appwrite-rust

Implements server-side Appwrite integrations in Rust covering users, TablesDB, storage, and functions.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires appwrite, tokio, serde_json.

What problem does it solve? Building server-side Rust applications against Appwrite requires knowing the async SDK's calling conventions, query serialization, permission strings, and the newer TablesDB API, which are easy to get wrong without a reference. ## Core Features & Use Cases - Async Client Setup: Configure the Appwrite client with endpoint, project ID, and API key inside a Tokio runtime. - TablesDB Operations: Create databases, tables, typed string columns (varchar/text/mediumtext/longtext), indexes, and full row CRUD with Query filters. - Users, Storage, and Functions: Manage users, upload files via InputFile, execute functions, and build permission strings with Role helpers. - Use Case: You are writing a Rust backend service that needs to provision an Appwrite table, insert rows with serde_json payloads, and query them with filters and pagination. ## Quick Start Ask the agent to write a Rust Tokio program that connects to Appwrite with an API key and creates a table with rows using the TablesDB API.

Frequently Asked Questions about appwrite-rust

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

FAQPage Schema
How do I use the Appwrite Rust SDK with Tokio?

Add the appwrite crate and tokio with full features, then build a Client with set_endpoint, set_project, and set_key inside a #[tokio::main] async function. All service calls are async and must be awaited.

How do I create and query rows in Appwrite TablesDB from Rust?

Use TablesDB::new(&client) and call create_row with a serde_json::json! payload, or list_rows with Query builders converted via .to_string(). Pass None for optional parameters you are not setting.

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

Use TablesDB for all new code, as it is the current API for database, table, and row operations. Only use the legacy Databases service if an existing project explicitly depends on it.

Can I use the Appwrite Rust SDK for client-side mobile or browser auth?

No, the Rust SDK is server-side only and authenticates with an API key. For browser or mobile client auth flows, use the TypeScript/Web, Flutter, Apple, Android, or React Native SDKs instead.

How do I upload files to Appwrite Storage from Rust?

Use InputFile::from_path for disk files or InputFile::from_bytes for in-memory data, then pass it to storage.create_file with a bucket ID and optional permission strings built from Permission and Role helpers.

How do I handle Appwrite API errors in Rust?

Match on the awaited result and inspect error.status_code() and error.get_message() to branch on cases like 404. Propagate unhandled errors by boxing them as Box<dyn std::error::Error>.