appwrite / appwrite/sdk-for-python
🚀 Feature: Python SDK does not validate row data against table schema before insertion
- Lingua principale
- Python
- Stelle
- 268
- Fork
- 67
- Merge medio
- 11h 59m
- PR unite (30g)
- 2
Descrizione
### 🔖 Feature description
The Python SDK allows defining table schemas (required fields, data types, defaults), but create_row does not perform any client-side validation against this schema.
As a result, issues like missing required fields or incorrect data types are only caught server-side after the API request, leading to delayed and less clear errors.
### 🎤 Pitch
The Python SDK already has full knowledge of the table schema at creation time (required fields, data types, defaults), but this information is not used when inserting rows. This leads to avoidable runtime errors that are only discovered after a network request.
* Adding optional client-side validation would:
* Catch simple mistakes (missing required fields, wrong data types) immediately
* Provide clearer, Python-native error messages
* Reduce unnecessary API calls and debugging time
* Improve onboarding and overall developer experience
This does not replace server-side validation, but complements it by shifting basic checks closer to the developer.
### 👀 Have you spent some time to check if this issue has been raised before?
- [x] I checked and didn't find similar issue
### 🏢 Have you read the Code of Conduct?
- [x] I have read the [Code of Conduct](https://github.com/appwrite/appwrite/blob/master/CODE_OF_CONDUCT.md)
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia individuando l’entry point create_row del Python SDK e le definizioni dello schema della tabella che utilizza. Determina come sono rappresentati i campi obbligatori, i tipi di dati e i valori predefiniti, quindi definisci il comportamento di validazione e gli errori nativi di Python per le righe non valide, preservando la validazione lato server.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- databases
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100