appwrite-rust

Implements server-side Appwrite operations in Rust using the async crates.io SDK.

Updated Jul 29, 2026
One-click install
npx skills add https://github.com/SMGolamAlif/Orbit --skill appwrite-rust-smgolamalif
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: appwrite-rust
Source: https://github.com/SMGolamAlif/Orbit/tree/main/.agents/skills/appwrite-rust
Command: npx skills add https://github.com/SMGolamAlif/Orbit --skill appwrite-rust-smgolamalif

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires appwrite, tokio, serde_json.

What problem does it solve? Building server-side Rust applications that integrate with Appwrite requires knowing the correct async client setup, API key authentication, and the positional-parameter calling conventions of the Rust SDK, which differ from other Appwrite SDKs. ## 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 perform CRUD on rows with Query filters. - Users, Storage, and Functions: Manage users, upload files from disk or bytes, execute Appwrite Functions, and apply permissions with Role-based access. - Use Case: You are writing a Rust backend service that needs to create users, store uploaded avatars in a bucket, and query rows from a tasks table with filters and pagination. ## Quick Start Ask the AI to write a Rust server function using the Appwrite SDK that connects with an API key and lists rows from a TablesDB table with a limit query.

Frequently Asked Questions about appwrite-rust

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

FAQPage Schema
How do I set up the Appwrite Rust SDK client?

Create a Client with Client::new(), then chain set_endpoint, set_project, and set_key with your API key. The SDK is async, so call it from a Tokio runtime such as a #[tokio::main] function.

How do I query rows with the Appwrite Rust SDK?

Build filters with the Query helpers like Query::equal or Query::limit, convert each with .to_string(), and pass them as Some(vec![...]) to list_rows. TablesDB methods accept Option<Vec<String>> for queries.

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 auth?

No, the Rust SDK is currently 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 files on disk or InputFile::from_bytes for in-memory data, then pass the result to storage.create_file with a bucket ID and optional permissions. Both methods work with the async Storage service.

Why do Appwrite Rust SDK calls fail with wrong argument counts?

The Rust SDK uses positional parameters where optional API fields are Option<T>. Pass None for every optional value you are not setting, and ensure you await each service call.