appwrite / appwrite/sdk-for-python
🚀 Feature: Python SDK does not validate row data against table schema before insertion
- Langage dominant
- Python
- Étoiles
- 268
- Forks
- 67
- Merge moyen
- 11 h 59 min
- PR mergées (30 j)
- 2
Description
### 🔖 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)
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par localiser le point d’entrée create_row du Python SDK et les définitions du schéma de table qu’il utilise. Déterminez comment sont représentés les champs obligatoires, les types de données et les valeurs par défaut, puis définissez le comportement de validation et les erreurs natives de Python pour les lignes invalides, tout en préservant la validation côté serveur.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- databases
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100