from appwrite.client import Client
from appwrite.services.databases import Databases
from appwrite.models import Document
from appwrite.permission import Permission
from appwrite.role import Role
client = Client()
client.set_endpoint('https://<REGION>.cloud.appwrite.io/v1') # Your API Endpoint
client.set_project('<YOUR_PROJECT_ID>') # Your project ID
client.set_session('') # The user session to authenticate with
databases = Databases(client)
result: Document = databases.upsert_document(
database_id = '<DATABASE_ID>',
collection_id = '<COLLECTION_ID>',
document_id = '<DOCUMENT_ID>',
data = {
"username": "walter.obrien",
"email": "walter.obrien@example.com",
"fullName": "Walter O'Brien",
"age": 30,
"isAdmin": False
}, # optional
permissions = [Permission.read(Role.any())], # optional
transaction_id = '<TRANSACTION_ID>' # optional
)
print(result.model_dump())