🐍 Почему ошибки валидации в Python иногда так сложно найти
Чем глубже вложена структура данных, тем сложнее понять, где именно произошла ошибка.
Если использовать обычные dataclass, вы чаще всего увидите только значение, которое не прошло проверку — но не путь к полю, где возникла проблема.
В сложных вложенных структурах это превращает отладку в настоящую боль.
Pydantic решает эту проблему.
Он показывает полный путь до поля, которое вызвало ошибку — от корневой модели до конкретного атрибута.
В результате сразу понятно, где искать проблему.
Пример:
Ошибка будет выглядеть так:
ValidationError: address.zip_code
String should match pattern '^\d{5}$'
То есть Pydantic сразу показывает:
address.zip_code
А не просто сообщает, что «где-то внутри данных ошибка».
Для сложных JSON, API-ответов и вложенных моделей это сильно упрощает дебаг.
#Python #Pydantic #Backend #DataValidation
🐍 Python полезные ресурсы 🚀Max
@pythonl
Чем глубже вложена структура данных, тем сложнее понять, где именно произошла ошибка.
Если использовать обычные dataclass, вы чаще всего увидите только значение, которое не прошло проверку — но не путь к полю, где возникла проблема.
В сложных вложенных структурах это превращает отладку в настоящую боль.
Pydantic решает эту проблему.
Он показывает полный путь до поля, которое вызвало ошибку — от корневой модели до конкретного атрибута.
В результате сразу понятно, где искать проблему.
Пример:
from pydantic import BaseModel, Field
class Address(BaseModel):
zip_code: str = Field(pattern=r"^\d{5}$")
class Customer(BaseModel):
name: str
address: Address
customer = Customer(
name="Alice",
address={"zip_code": "9ABC1"}
)
Ошибка будет выглядеть так:
ValidationError: address.zip_code
String should match pattern '^\d{5}$'
То есть Pydantic сразу показывает:
address.zip_code
А не просто сообщает, что «где-то внутри данных ошибка».
Для сложных JSON, API-ответов и вложенных моделей это сильно упрощает дебаг.
#Python #Pydantic #Backend #DataValidation
🐍 Python полезные ресурсы 🚀Max
@pythonl
❤10👍5🔥2
Интенсив для всех, кто хочет создавать искусственный интеллект
Факультет компьютерных наук НИУ ВШЭ запускает онлайн-интенсив по подготовке к поступлению в онлайн-магистратуру «Искусственный интеллект». На программе обучают всем шагам из цикла разработки моделей и навыкам написания высоконагруженного кода для промышленной эксплуатации.
Присоединяйтесь, если хотите:
⚪️ Укрепить знания по высшей математике, анализу данных и Python
⚪️ Получить практическое понимание структуры экзамена и требований программы
⚪️ Быстро и эффективно подготовиться к вступительным испытаниям
Интенсив проведут эксперты и преподаватели Высшей школы экономики.
📆 Когда: 8-24 апреля, 19:30 (мск)
💻 Формат: онлайн и бесплатно, для участия нужно лишь зарегистрироваться до 24 апреля
🐭 Зарегистрироваться
Факультет компьютерных наук НИУ ВШЭ запускает онлайн-интенсив по подготовке к поступлению в онлайн-магистратуру «Искусственный интеллект». На программе обучают всем шагам из цикла разработки моделей и навыкам написания высоконагруженного кода для промышленной эксплуатации.
Присоединяйтесь, если хотите:
Интенсив проведут эксперты и преподаватели Высшей школы экономики.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Опенсорс-аналог Claude Cowork, который работает локально и бесплатно
Разработчики выкатили Rowboat - open-source ИИ-коворкер, который позиционируют как замену Claude Cowork от Anthropic. Работает полностью локально, на вашей машине, с любой LLM на выбор.
Из интересного: поддержка голоса, расширяемость через MCP-тулы, совместимость с Obsidian-хранилищами, фоновые агенты с веб-поиском и автоматическое построение графа знаний по вашим заметкам и письмам.
Anthropic, кажется, начинают окружать со всех сторон. Пока они строят закрытую экосистему, комьюнити собирает аналоги на коленке и раздает бесплатно.
github.com/rowboatlabs/rowboat
Разработчики выкатили Rowboat - open-source ИИ-коворкер, который позиционируют как замену Claude Cowork от Anthropic. Работает полностью локально, на вашей машине, с любой LLM на выбор.
Из интересного: поддержка голоса, расширяемость через MCP-тулы, совместимость с Obsidian-хранилищами, фоновые агенты с веб-поиском и автоматическое построение графа знаний по вашим заметкам и письмам.
Anthropic, кажется, начинают окружать со всех сторон. Пока они строят закрытую экосистему, комьюнити собирает аналоги на коленке и раздает бесплатно.
github.com/rowboatlabs/rowboat
👍5🔥3