appwrite / appwrite/sdk-for-python
🚀 Feature: Python SDK does not validate row data against table schema before insertion
- Lenguaje dominante
- Python
- Estrellas
- 268
- Forks
- 67
- Merge medio
- 11 h 59 min
- PR fusionados (30 d)
- 2
Descripción
### 🔖 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)
Guía de contribución
Línea de trabajo
Comienza localizando el punto de entrada create_row del Python SDK y las definiciones del esquema de tabla que utiliza. Determina cómo se representan los campos obligatorios, los tipos de datos y los valores predeterminados; después, define el comportamiento de validación y los errores nativos de Python para las filas no válidas, preservando la validación del lado del servidor.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- databases
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100