Templates for Appwrite Functions. These templates can be used as starters for your functions, or for learning purposes.
| Template | Node.js | Python | PHP | Node.js (TypeScript) | Bun | Dart | Deno | Ruby | Kotlin | python-ml | C++ | .NET | Java | Swift |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Starter | â | â | â | â | â | â | â | â | â | â | â | â | â | â |
| Sync with Meilisearch | â | â | â | â | â | đī¸ | â | â | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| WhatsApp with Vonage | â | â | â | â | â | â | â | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Sync with Qdrant | â | â | đī¸ | â | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Prompt ChatGPT | â | â | â | đī¸ | đī¸ | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Censor with Redact | â | â | đī¸ | đī¸ | đī¸ | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Email Contact Form | â | â | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Sync with Algolia | â | â | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Discord Command Bot | â | â | đī¸ | â ī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Github Issue Bot | â | đī¸ | đī¸ | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Analyze with PerspectiveAPI | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Chat with Anyscale | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Chat with Perplexity Ai | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Database Cleaner | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Generate PDF | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Generate with Fal.ai | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Generate with Replicate | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Generate with Together Ai | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Image Classification with Hugging Face | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Language Translation with Hugging Face | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Music Generation with Hugging Face | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Object Detection with Hugging Face | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Password Expiry | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Payments with Lemon Squeezy | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Payments with Stripe | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Push Notification with FCM | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Query Mongo Atlas | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Query Neo4j Auradb | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Query Neon Postgres | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Query Redis Labs | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Query Upstash Vector | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| RAG with LangChain | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Slack Command Bot | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Speak with ElevenLabs | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Speak with Lmnt | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Speech Recognition with Hugging Face | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Storage Cleaner | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Subscriptions with Lemon Squeezy | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Subscriptions with Stripe | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Sync with Pinecone | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Text Generation with Hugging Face | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Text to Speech with Hugging Face | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| URL Shortener | â | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ |
| Generate with Tensorflow | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | đī¸ | â | đī¸ | đī¸ | đī¸ | đī¸ |
â = Done - Function is implemented in this runtime.
đī¸ = Missing - Function isn't implemented in this runtime yet. Contributions are welcomed.
All code contributions - including those of people having commit access - must go through a pull request and be approved by a core developer before being merged. This is to ensure a proper review of all the code.
All functions should have the exactly same functionality as their other language counterparts and if possible you should avoid using any third-party libraries to keep the functions simple and secure.
We truly â¤ī¸ pull requests! If you wish to help, you can learn more about how you can contribute to this project in the contribution guide.
For security issues, kindly email us at [email protected] instead of posting a public issue on GitHub.
Join our live Discord server for more help, ideas, and discussions.
This repository is available under the MIT License.