{"id":15136620,"url":"https://github.com/appwrite/templates","last_synced_at":"2025-05-16T15:08:25.921Z","repository":{"id":184460343,"uuid":"664608841","full_name":"appwrite/templates","owner":"appwrite","description":"Templates for Appwrite Functions ⚡️🌩️","archived":false,"fork":false,"pushed_at":"2025-01-15T08:42:30.000Z","size":1156,"stargazers_count":147,"open_issues_count":31,"forks_count":111,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-05-15T16:10:06.877Z","etag":null,"topics":["appwrite","cpp","dart","dotnet","java","kotlin","nodejs","php","python","ruby","serverless","serverless-functions","swift"],"latest_commit_sha":null,"homepage":"https://appwrite.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/appwrite.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-10T11:01:01.000Z","updated_at":"2025-05-12T20:55:18.000Z","dependencies_parsed_at":"2023-10-03T16:38:46.758Z","dependency_job_id":"6ed35991-1301-4016-975f-b53fd09d2bf7","html_url":"https://github.com/appwrite/templates","commit_stats":{"total_commits":679,"total_committers":33,"mean_commits":"20.575757575757574","dds":0.5022091310751104,"last_synced_commit":"3ff5b618bcf51df97ea4fb697301a075202db3f7"},"previous_names":["appwrite/templates"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appwrite%2Ftemplates","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appwrite%2Ftemplates/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appwrite%2Ftemplates/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appwrite%2Ftemplates/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/appwrite","download_url":"https://codeload.github.com/appwrite/templates/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254553958,"owners_count":22090417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appwrite","cpp","dart","dotnet","java","kotlin","nodejs","php","python","ruby","serverless","serverless-functions","swift"],"created_at":"2024-09-26T06:40:18.029Z","updated_at":"2025-05-16T15:08:20.906Z","avatar_url":"https://github.com/appwrite.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📚 Appwrite Templates\n\n[![We're Hiring](https://img.shields.io/static/v1?label=We're\u0026message=Hiring\u0026color=blue\u0026style=flat-square)](https://appwrite.io/company/careers)\n[![Hacktoberfest](https://img.shields.io/static/v1?label=hacktoberfest\u0026message=ready\u0026color=191120\u0026style=flat-square)](https://hacktoberfest.appwrite.io)\n[![Discord](https://img.shields.io/discord/564160730845151244?label=discord\u0026style=flat-square)](https://appwrite.io/discord?r=Github)\n[![Twitter Account](https://img.shields.io/twitter/follow/appwrite?color=00acee\u0026label=twitter\u0026style=flat-square)](https://twitter.com/appwrite)\n\nTemplates for [Appwrite](https://appwrite.io/) Functions. These templates can be used as starters for your functions, or for learning purposes.\n\n# List of Templates\n\n\u003c!-- TABLE:START --\u003e\n| Template                               | Node.js                                         | Python                            | PHP                            | Node.js (TypeScript)                       | Bun                            | Dart                           | Deno                            | Ruby                            | Kotlin                            | python-ml                               | C++              | .NET                | Java              | Swift              |\n| -------------------------------------- | ----------------------------------------------- | --------------------------------- | ------------------------------ |--------------------------------------------| ------------------------------ | ------------------------------ | ------------------------------- | ------------------------------- | --------------------------------- | --------------------------------------- | ---------------- | ------------------- | ----------------- | ------------------ |\n| Starter                                | [✅](node/starter)                               | [✅](python/starter)               | [✅](php/starter)               | [✅](node-typescript/starter)               | [✅](bun/starter)               | [✅](dart/starter)              | [✅](deno/starter)               | [✅](ruby/starter)               | [✅](kotlin/starter)               | [✅](python-ml/starter)                  | [✅](cpp/starter) | [✅](dotnet/starter) | [✅](java/starter) | [✅](swift/starter) |\n| Sync with Meilisearch                  | [✅](node/sync-with-meilisearch)                 | [✅](python/sync_with_meilisearch) | [✅](php/sync-with-meilisearch) | [✅](node-typescript/sync-with-meilisearch) | [✅](bun/sync-with-meilisearch) | 🏗️                            | [✅](deno/sync-with-meilisearch) | [✅](ruby/sync_with_meilisearch) | [✅](kotlin/sync-with-meilisearch) | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| WhatsApp with Vonage                   | [✅](node/whatsapp-with-vonage)                  | [✅](python/whatsapp_with_vonage)  | [✅](php/whatsapp-with-vonage)  | [✅](node-typescript/whatsapp-with-vonage)  | [✅](bun/whatsapp-with-vonage)  | [✅](dart/whatsapp_with_vonage) | [✅](deno/whatsapp-with-vonage)  | [✅](ruby/whatsapp-with-vonage)  | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Sync with Qdrant                       | [✅](node/sync-with-qdrant)                      | [✅](python/sync_with_qdrant)      | 🏗️                            | [✅](node-typescript/sync-with-qdrant)      | [✅](bun/sync-with-qdrant)      | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Prompt ChatGPT                         | [✅](node/prompt-chatgpt)                        | [✅](python/prompt_chatgpt)        | [✅](php/prompt-chatgpt)        | 🏗️                                        | 🏗️                            | [✅](dart/prompt_chatgpt)       | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Censor with Redact                     | [✅](node/censor-with-redact)                    | [✅](python/censor_with_redact)    | 🏗️                            | 🏗️                                        | 🏗️                            | [✅](dart/censor_with_redact)   | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Email Contact Form                     | [✅](node/email-contact-form)                    | [✅](python/email_contact_form)    | [✅](php/email-contact-form)    | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Sync with Algolia                      | [✅](node/sync-with-algolia)                     | [✅](python/sync_with_algolia)     | [✅](php/sync-with-algolia)     | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Discord Command Bot                    | [✅](node/discord-command-bot)                   | [✅](python/discord_command_bot)   | 🏗️                            | [✅](node-typescript/discord-command-bot)️  | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Github Issue Bot                       | [✅](node/github-issue-bot)                      | 🏗️                               | 🏗️                            | [✅](node-typescript/github-issue-bot)      | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Analyze with PerspectiveAPI            | [✅](node/analyze-with-perspectiveapi)           | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Chat with Anyscale                     | [✅](node/chat-with-anyscale)                    | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Chat with Perplexity Ai                | [✅](node/chat-with-perplexity-ai)               | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Database Cleaner                       | [✅](node/database-cleaner)                      | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Generate PDF                           | [✅](node/generate-pdf)                          | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Generate with Fal.ai                   | [✅](node/generate-with-fal)                     | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Generate with Replicate                | [✅](node/generate-with-replicate)               | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Generate with Together Ai              | [✅](node/generate-with-together-ai)             | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Image Classification with Hugging Face | [✅](node/image-classification-with-huggingface) | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Language Translation with Hugging Face | [✅](node/language-translation-with-huggingface) | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Music Generation with Hugging Face     | [✅](node/music-generation-with-huggingface)     | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Object Detection with Hugging Face     | [✅](node/object-detection-with-huggingface)     | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Password Expiry                        | [✅](node/password-expiry)                       | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Payments with Lemon Squeezy            | [✅](node/payments-with-lemon-squeezy)           | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Payments with Stripe                   | [✅](node/payments-with-stripe)                  | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Push Notification with FCM             | [✅](node/push-notification-with-fcm)            | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Query Mongo Atlas                      | [✅](node/query-mongo-atlas)                     | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Query Neo4j Auradb                     | [✅](node/query-neo4j-auradb)                    | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Query Neon Postgres                    | [✅](node/query-neon-postgres)                   | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Query Redis Labs                       | [✅](node/query-redis-labs)                      | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Query Upstash Vector                   | [✅](node/query-upstash-vector)                  | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| RAG with LangChain                     | [✅](node/rag-with-langchain)                    | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Slack Command Bot                      | [✅](node/slack-command-bot)                     | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Speak with ElevenLabs                  | [✅](node/speak-with-elevenlabs)                 | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Speak with Lmnt                        | [✅](node/speak-with-lmnt)                       | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Speech Recognition with Hugging Face   | [✅](node/speech-recognition-with-huggingface)   | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Storage Cleaner                        | [✅](node/storage-cleaner)                       | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Subscriptions with Lemon Squeezy       | [✅](node/subscriptions-with-lemon-squeezy)      | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Subscriptions with Stripe              | [✅](node/subscriptions-with-stripe)             | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Sync with Pinecone                     | [✅](node/sync-with-pinecone)                    | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Text Generation with Hugging Face      | [✅](node/text-generation-with-huggingface)      | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Text to Speech with Hugging Face       | [✅](node/text-to-speech-with-huggingface)       | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| URL Shortener                          | [✅](node/url-shortener)                         | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | 🏗️                                     | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n| Generate with Tensorflow               | 🏗️                                             | 🏗️                               | 🏗️                            | 🏗️                                        | 🏗️                            | 🏗️                            | 🏗️                             | 🏗️                             | 🏗️                               | [✅](python-ml/generate_with_tensorflow) | 🏗️              | 🏗️                 | 🏗️               | 🏗️                |\n\u003c!-- TABLE:END --\u003e\n\n✅ = Done - Function is implemented in this runtime.\n\n🏗️ = Missing - Function isn't implemented in this runtime yet. Contributions are welcomed.\n\n## Contributing\n\nAll 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.\n\nAll 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.\n\nWe truly ❤️ pull requests! If you wish to help, you can learn more about how you can contribute to this project in the [contribution guide](https://github.com/open-runtimes/.github/blob/main/CONTRIBUTING.md).\n\n## Security\n\nFor security issues, kindly email us at [security@appwrite.io](mailto:security@appwrite.io) instead of posting a public issue on GitHub.\n\n## Discord Server\n\nJoin our live [Discord server](https://appwrite.io/discord) for more help, ideas, and discussions.\n\n## License\n\nThis repository is available under the [MIT License](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappwrite%2Ftemplates","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappwrite%2Ftemplates","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappwrite%2Ftemplates/lists"}