#pydantic — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #pydantic, aggregated by home.social.
-
Structured outputs, которые не работают: пять ситуаций, где схема есть, а гарантий нет
Strict‑режим включён, схема валидна, ответ успешно парсится — а в проде всё равно всплывают None , пропавшие ограничения и аргументы инструментов не тех типов. В статье разберём пять ситуаций, где Structured Outputs создают ложное ощущение надёжности, и посмотрим, какие проверки действительно стоит добавить в LLM‑пайплайн.
https://habr.com/ru/companies/otus/articles/1058384/
#структурированные_ответы #JSON_Schema #strictрежим #большие_языковые_модели #Pydantic #валидация_данных #OpenAI_API #вызов_инструментов #ИИагенты #обработка_ошибок
-
🚀✨ Oh, look! Another groundbreaking revelation: devs are tired! 💤 This article heroically rehashes how AI coding is both "useful" and "destabilizing," a true galaxy-brain take. 🤯 Meanwhile, #Pydantic is the unsung hero here, solving problems you didn't know you had, and you still won't care about. 🙄
https://pydantic.dev/articles/the-human-in-the-loop-is-tired #devsaretired #AIcoding #galaxybrain #technews #HackerNews #ngated -
🚀✨ Oh, look! Another groundbreaking revelation: devs are tired! 💤 This article heroically rehashes how AI coding is both "useful" and "destabilizing," a true galaxy-brain take. 🤯 Meanwhile, #Pydantic is the unsung hero here, solving problems you didn't know you had, and you still won't care about. 🙄
https://pydantic.dev/articles/the-human-in-the-loop-is-tired #devsaretired #AIcoding #galaxybrain #technews #HackerNews #ngated -
httpx2 2.6.0 -- everyones favorite Python http client -- is out now! It includes native websocket support and also support for the brand new QUERY method for HTTP, and of course again bug fixes.
If you did not upgrade yet from httpx, now is the time!
--> https://github.com/pydantic/httpx2/releases/tag/v2.6.0 -
httpx2 2.6.0 -- everyones favorite Python http client -- is out now! It includes native websocket support and also support for the brand new QUERY method for HTTP, and of course again bug fixes.
If you did not upgrade yet from httpx, now is the time!
--> https://github.com/pydantic/httpx2/releases/tag/v2.6.0 -
Чат для сложных продаж: YandexGPT и звонки через МТС Exolve Web Voice SDK
Привет, Хабр! Чат-бот может быстро ответить на типовые вопросы о товаре, стоимости или доступных вариантах. Но в сложных продажах часть диалогов неизбежно доходит до вопросов, которые удобнее обсудить с человеком: подобрать условия, сравнить несколько предложений, уточнить детали оплаты или принять решение прямо сейчас. В такой момент пользователю важно дать простой способ перейти от переписки к разговору, не заставляя его искать номер телефона, оставлять заявку и ждать обратного звонка. В статье соберём чат, который отвечает на вопросы по выбранному туристическому направлению, оценивает контекст диалога и при подходящем сценарии предлагает позвонить менеджеру прямо из браузера. Стек: FastAPI, Pydantic, requests, YandexGPT, Vite и Web SDK МТС Exolve.
https://habr.com/ru/companies/exolve/articles/1056706/
#yandexgpt #pydantic #fastapi #exolve_web_sdk #web_chat #продажи
-
Every Python dev has faced APIs that use camelCase or kebab-case while your codebase follows snake_case.
The typical approach creates technical debt: either break Python naming conventions or write complex mapping logic that clutters your codebase.
Pydantic's Field alias feature elegantly solves this: define external field names through aliases while keeping internal code perfectly Pythonic.
Integration compatibility and clean code that's maintainable. 💚
-
Every Python dev has faced APIs that use camelCase or kebab-case while your codebase follows snake_case.
The typical approach creates technical debt: either break Python naming conventions or write complex mapping logic that clutters your codebase.
Pydantic's Field alias feature elegantly solves this: define external field names through aliases while keeping internal code perfectly Pythonic.
Integration compatibility and clean code that's maintainable. 💚
-
DTO, schema, model, entity: почему в коде всё называется User
Один User сначала кажется удобным: его можно принять в запросе, вернуть из API, сохранить в базу и передать дальше. Но со временем такой класс смешивает разные границы и перестаёт защищать код. Разбираю на Python-примерах, чем отличаются DTO, schema, model и entity — и когда отдельные классы действительно нужны.
https://habr.com/ru/articles/1054614/
#python #backend #api #dto #pydantic #sqlalchemy #архитектура #orm #naming #django
-
Как я устал писать парсер под каждый прайс и сделал из этого библиотеку
У нас на проекте десятки прайсингов на топливо: один вендор шлёт CSV, другой Excel, третий JSON на вебхук. Данные одни и те же, но колонка цены везде называется по-своему, даты в трёх форматах, единицы то литры, то галлоны, а половина нужных полей просто отсутствует. И под каждый источник у меня жил отдельный парсер на сотню строк if-else. Сначала их было три, потом восемь, потом я перестал считать. А по-настоящему добило другое: эти парсеры ломались молча. Вендор тихо переименовывал колонку. В третий раз за месяц копируя один и тот же парсер, я понял, что так нельзя, и вынес логику маппинга из кода в данные. Из этого выросла библиотека fidelis: ты описываешь данные один раз как Pydantic-модель, а соответствие под каждый кривой источник один раз пишет LLM — в виде читаемой YAML-спеки, которую ты ревьюишь и коммитишь. Дальше LLM не нужен: чистый детерминированный Python, валидация каждой строки и отлов изменений схемы ещё в CI. Рассказываю, как дошёл до жизни такой и как это устроено.
https://habr.com/ru/articles/1053956/
#python #парсинг_данных #ETL #pydantic #обработка_csv #интеграция_данных #llm #конвейер_данных #валидация_данных #open_source
-
Как я устал писать парсер под каждый прайс и сделал из этого библиотеку
У нас на проекте десятки прайсингов на топливо: один вендор шлёт CSV, другой Excel, третий JSON на вебхук. Данные одни и те же, но колонка цены везде называется по-своему, даты в трёх форматах, единицы то литры, то галлоны, а половина нужных полей просто отсутствует. И под каждый источник у меня жил отдельный парсер на сотню строк if-else. Сначала их было три, потом восемь, потом я перестал считать. А по-настоящему добило другое: эти парсеры ломались молча. Вендор тихо переименовывал колонку. В третий раз за месяц копируя один и тот же парсер, я понял, что так нельзя, и вынес логику маппинга из кода в данные. Из этого выросла библиотека fidelis: ты описываешь данные один раз как Pydantic-модель, а соответствие под каждый кривой источник один раз пишет LLM — в виде читаемой YAML-спеки, которую ты ревьюишь и коммитишь. Дальше LLM не нужен: чистый детерминированный Python, валидация каждой строки и отлов изменений схемы ещё в CI. Рассказываю, как дошёл до жизни такой и как это устроено.
https://habr.com/ru/articles/1053956/
#python #парсинг_данных #ETL #pydantic #обработка_csv #интеграция_данных #llm #конвейер_данных #валидация_данных #open_source
-
Как я устал писать парсер под каждый прайс и сделал из этого библиотеку
У нас на проекте десятки прайсингов на топливо: один вендор шлёт CSV, другой Excel, третий JSON на вебхук. Данные одни и те же, но колонка цены везде называется по-своему, даты в трёх форматах, единицы то литры, то галлоны, а половина нужных полей просто отсутствует. И под каждый источник у меня жил отдельный парсер на сотню строк if-else. Сначала их было три, потом восемь, потом я перестал считать. А по-настоящему добило другое: эти парсеры ломались молча. Вендор тихо переименовывал колонку. В третий раз за месяц копируя один и тот же парсер, я понял, что так нельзя, и вынес логику маппинга из кода в данные. Из этого выросла библиотека fidelis: ты описываешь данные один раз как Pydantic-модель, а соответствие под каждый кривой источник один раз пишет LLM — в виде читаемой YAML-спеки, которую ты ревьюишь и коммитишь. Дальше LLM не нужен: чистый детерминированный Python, валидация каждой строки и отлов изменений схемы ещё в CI. Рассказываю, как дошёл до жизни такой и как это устроено.
https://habr.com/ru/articles/1053956/
#python #парсинг_данных #ETL #pydantic #обработка_csv #интеграция_данных #llm #конвейер_данных #валидация_данных #open_source
-
Невыразимое невалидное. Часть 2. Поведение и границы
В первой части мы разобрались с представлением данных. Мы сделали невалидные состояния невозможными для выражения в рамках модели. В этой части мы разберемся с тем как можно выражать поведение таких моделей, и где проходит граница между тем, что ловит чекер, и тем, что придется оставить рантайму.
https://habr.com/ru/articles/1053662/
#pydantic #python #типы_данных #типизация #аннотация_типов #mypy #discriminated_unions
-
New to the Psycopg blog: integrating Psycopg 3 with FastAPI and Pydantic ⚡
Covers dependency injection for DB connections, row factories that map results directly to Pydantic models and tying a connection pool to the application lifecycle. Full working example included - link in comments!
#PostgreSQL #Python #FastAPI #Pydantic #Psycopg #OpenSource #FOSS
-
New to the Psycopg blog: integrating Psycopg 3 with FastAPI and Pydantic ⚡
Covers dependency injection for DB connections, row factories that map results directly to Pydantic models and tying a connection pool to the application lifecycle. Full working example included - link in comments!
#PostgreSQL #Python #FastAPI #Pydantic #Psycopg #OpenSource #FOSS
-
Невыразимое невалидное. Часть 1. Данные
Знакомый сценарий: фильтр или конструктор запросов начинается с одного опрятного класса, а через месяц в нём value: Any, валидатор на сотню строк и ветка, дописанная ночью перед релизом, — её забыли покрыть тестом, и она падает в проде. Разбираем контринтуитивный выход: не «добавить ещё проверок», а сделать невалидное состояние таким, чтобы его нельзя было даже собрать. В первой части — сами данные: сумма-типы, дискриминированные union’ы и точные значения в pydantic; и где всё это ловит тайп-чекер, а где остаётся рантайму.
https://habr.com/ru/articles/1049560/
#pydantic #python #типы_данных #типизация #аннотация_типов #mypy #discriminated_unions
-
A comprehensive comparison of Pydantic and JSON Schema for structured output validation in Python, covering performance, usability, and integration with LLMs. Learn when to use each tool for optimal data validation in modern applications.
#Pydantic #JSON Schema #structured output validation #LLM integration #data validation
https://dasroot.net/posts/2026/02/structured-output-validation-pydantic-json-schema/
-
A comprehensive comparison of Pydantic and JSON Schema for structured output validation in Python, covering performance, usability, and integration with LLMs. Learn when to use each tool for optimal data validation in modern applications.
#Pydantic #JSON Schema #structured output validation #LLM integration #data validation
https://dasroot.net/posts/2026/02/structured-output-validation-pydantic-json-schema/
-
Хватит дублировать валидацию в Django: как я подружил Pydantic с ORM и перестал страдать
Представь: ты пишешь научный сервис. Есть модель исследователя, у которой h_index не может быть отрицательным. Ты, как добросовестный разработчик, описываешь это правило в Pydantic-схеме красиво, строго, типизированно. А потом начинается ад: те же самые «не может быть отрицательным» ты вынужден повторять в DRF-сериализаторе, в Django-форме, а если ещё и админку кастомизируешь то и там. Три, пять, десять мест, где разбросана одна и та же бизнес-логика. Знакомо? У меня эта боль копилась годами, пока я не сказал «хватит» и не написал django-nova фреймворк, который делает Pydantic единственным источником правды для всей экосистемы Django. Давай разберёмся, как удалось объединить эти две вселенные без боли, циклических импортов и магии, которая ломается на каждом обновлении Python.
https://habr.com/ru/articles/1046880/
#Django #Python #Django_Nova #FastAPI #Pydantic #асинхронное_программирование #ASGI #PostgreSQL #ORM #вебразработка
-
Как я превратил хаотичные формы во Vue в типизированную модель данных (AdaptForm)
Как из миксинов для валидации форм вырастает полноценная TypeScript-библиотека с плагинами, масками и 500+ скачиваниями в неделю. История рефакторинга, архитектурных решений и работы над ошибками длиной в 10 месяцев.
https://habr.com/ru/articles/1044380/
#валидация_форм #валидация_полей #pydantic #библиотека #типизация #фронтенд #фронтендразработка #npm_пакеты #typescript #javascript
-
Как я превратил хаотичные формы во Vue в типизированную модель данных (AdaptForm)
Как из миксинов для валидации форм вырастает полноценная TypeScript-библиотека с плагинами, масками и 500+ скачиваниями в неделю. История рефакторинга, архитектурных решений и работы над ошибками длиной в 10 месяцев.
https://habr.com/ru/articles/1044380/
#валидация_форм #валидация_полей #pydantic #библиотека #типизация #фронтенд #фронтендразработка #npm_пакеты #typescript #javascript
-
Топ-10 вопросов на собеседовании по FastAPI
FastAPI окончательно закрепился в стеке Python-разработчиков, а значит, на собеседованиях вас точно будут гонять по корутинам, Pydantic и Dependency Injection. Я собрал 10 реальных вопросов (включая коварные подвохи от сеньоров!), которые сейчас задают джунам и мидлам. Никакой сухой теории из доков — только практика. Го под кат — проверим, насколько вы готовы к следующему интервью!
https://habr.com/ru/articles/1044300/
#fastapi #python #собеседование_python #вопросы_на_собеседовании #pydantic #асинхронность #backend #микросервисы #бэкенд #подготовка_к_собеседованию
-
Как конечные автоматы помогают сделать агента надежнее и при чем тут pydantic-graph?
Когда пишешь библиотеку, рано или поздно упираешься в движок. Не в красивый внешний интерфейс и не в обёртки, а в ту часть внутри, которая гоняет процесс по состояниям: что-то сгенерировал, проверил, решил, что делать дальше, повторил. Пара флагов, цикл while, большой if посередине, и через месяц вы уже сами не помните, какие переходы там вообще возможны и почему одна из веток недостижима. Недавно я собирал ровно такой движок и наткнулся на библиотеку, которая делает эту работу заметно аккуратнее. Называется pydantic-graph. Про неё почти не пишут, хотя на ней стоит весь pydantic-ai , агентский фреймворк от авторов Pydantic. Дальше я расскажу про неё на конкретном примере, харнессе надёжности для слабых языковых моделей. Сразу оговорюсь термин, потому что оно сейчас на слуху. Харнесс это не только MCP, скиллы и память. Это ещё и робастность, в том числе у совсем небольших моделей. Вот эту вторую часть я и беру за пример. Но статья не столько про модели, сколько про сам подход. Основная мысль простая: это удобный способ собрать движок для чего угодно, где есть состояния и переходы, и при этом не утонуть в собственном цикле.
https://habr.com/ru/articles/1043808/
#python #искусственный_интеллект #конечные_автоматы #pydantic #pydanticai #агенты #llm #pydanticgraph #ииагенты
-
GigaIDE Pro для FastAPI, Flask и SQLAlchemy
Наш предыдущий обзор касался поддержки в GigaIDE — возможно, самого популярного фреймворка Python, который, однако, восходит к эпохе шаблонизаторов, когда веб-страницы формировались на бэке. Кстати, обзор, как реализована поддержка идеологических братьев Django в Java, есть здесь . Сегодня мы рассмотрим поддержку других популярных Python-фреймворков: FastAPI, Flask, SQLAlchemy и немного Pydantic. В отличие от Django, все из них стали популярны благодаря своей легковесности и узкой специализации. Первые два — это веб-фреймворки, третий — ORM-фреймворк.
-
Struggle with how Pydantic stays so easy to use despite its depth? “The Facade That Makes Pydantic Feel Simple” breaks down the idea behind that simplicity.
-
CW: War
Having spend joyful time in #htmx and #hyperscript land for a personal project and especially enjoying https://github.com/xehrad/form-json to combine with #pydantic ... only to notice, when sending patches, that the author hasn't been too active on Github in the last months and then noticed that ... he's living in Iran. :(
Makes me incredibly sad to even have had the thought of the maintainer not being that responsive. I found a way to reach out, hoping he and his loved ones are safe.
Fuck this timeline. Fuck Trump. Fuck Maga. Fuck those war mongering make-the-squiggly-line-go-up bastards.
-
CW: War
Having spend joyful time in #htmx and #hyperscript land for a personal project and especially enjoying https://github.com/xehrad/form-json to combine with #pydantic ... only to notice, when sending patches, that the author hasn't been too active on Github in the last months and then noticed that ... he's living in Iran. :(
Makes me incredibly sad to even have had the thought of the maintainer not being that responsive. I found a way to reach out, hoping he and his loved ones are safe.
Fuck this timeline. Fuck Trump. Fuck Maga. Fuck those war mongering make-the-squiggly-line-go-up bastards.
-
Structured Outputs без иллюзий: как OpenAI, Gemini и xAI соблюдают JSON»-схемы
Проверили Structured Outputs у OpenAI, Gemini и xAI не “по документации”, а через adversarial-тесты: просили модели специально нарушить JSON Schema и смотрели, где провайдер реально удерживает формат ответа. В статье — методика, итоговая матрица ограничений, нюансы strict: true , anyOf / oneOf / allOf , и выводы для production-систем с несколькими LLM-провайдерами.
https://habr.com/ru/articles/1033478/
#llm #sgr #api #skillmd #skills_в_claude #pydantic #jsonschema
-
Tilda + СБИС Presto: пишем интеграцию на Python, когда готового решения не существует
Клиент пришёл с простой задачей: заказы с сайта на Tilda должны автоматически попадать в СБИС Presto. Казалось бы, популярные инструменты — должно быть готовое решение. Его не оказалось. Написали свой сервис месяц в продакшене, всё работает. Рассказываем как — с кодом, граблями и объяснением неочевидных мест в документации СБИС. Стек: Python, FastAPI, Pydantic, httpx, cachetools.
https://habr.com/ru/articles/1030324/
#python #fastapi #сбис #tilda #webhook #интеграция #pydantic #httpx #presto
-
ok, i just fucked-up in a very shameful way
i sent @simonwoerpel an article and got back the question: "Since when do we already have #Django v7 and #Pydantic v3?"
...which, upon closer inspection, we don't.
the article describes these two software versions, complete with "new features", how to install them and how to use them (lots of code samples!)
except these things don't exist
but the article looks so believable!
but it's all nonesense
i truly and utterly hate the #genAI infested web
-
ok, i just fucked-up in a very shameful way
i sent @simonwoerpel an article and got back the question: "Since when do we already have #Django v7 and #Pydantic v3?"
...which, upon closer inspection, we don't.
the article describes these two software versions, complete with "new features", how to install them and how to use them (lots of code samples!)
except these things don't exist
but the article looks so believable!
but it's all nonesense
i truly and utterly hate the #genAI infested web
-
Почему автотесты пропускают изменения в API и как это исправить с Pydantic
Приветствую, Хабр! Меня зовут Владислав Тимашенков, я занимаюсь автоматизацией тестирования в ГК Infowatch. Наша команда столкнулась с популярными болями автотестов для API: - одно изменение в API требует обновления нескольких тестов; - проверка структуры ответа распределена по тестам и не централизована; - валидация вложенных структур и генерируемых полей требует дополнительного кода. И мы задались вопросом: какой инструмент для валидации контракта нам подойдёт? В этой статье расскажем о нашем переосмыслении подхода к тестированию API с помощью внедрения Pydantic .
-
Every Python dev has faced APIs that use camelCase or kebab-case while your codebase follows snake_case.
The typical approach creates technical debt: either break Python naming conventions or write complex mapping logic that clutters your codebase.
Pydantic's Field alias feature elegantly solves this: define external field names through aliases while keeping internal code perfectly Pythonic.
Integration compatibility and clean code that's maintainable. 💚
-
Every Python dev has faced APIs that use camelCase or kebab-case while your codebase follows snake_case.
The typical approach creates technical debt: either break Python naming conventions or write complex mapping logic that clutters your codebase.
Pydantic's Field alias feature elegantly solves this: define external field names through aliases while keeping internal code perfectly Pythonic.
Integration compatibility and clean code that's maintainable. 💚
-
Загрузка конфигурации из settings.toml в Python: чтение, проверка структуры и преобразование в объекты Pydantic
В прикладной разработке параметры программы обычно не размещают непосредственно в исходном коде. Токены, адреса серверов, номера портов, режимы запуска, имена пользователей, пароли и иные значения конфигурационного характера выносятся во внешний файл настроек. Такой способ организации данных позволяет отделить служебные параметры от программной логики, упростить сопровождение проекта и уменьшить вероятность ошибок при изменении окружения. Ниже рассматривается модуль Python, который читает файл settings.toml , преобразует его содержимое в структуры Python, извлекает нужный раздел конфигурации и проверяет его через модель Pydantic .
-
novo post no blog: dataclass, NamedTuple, attrs ou pydantic — qual usar de verdade?
quatro formas sérias de estruturar dados em Python, cada uma com trade-offs que a documentação oficial não deixa claro. quando cada uma faz sentido, quando atrapalha, e o padrão borda/domínio que evita coerção silenciosa no lugar errado.
🔗 https://www.riverfount.dev.br/posts/cover-dataclass_namedtuple_attrs_pydantic./
#python #pydantic #dataclasses #boas-práticas
-
novo post no blog: dataclass, NamedTuple, attrs ou pydantic — qual usar de verdade?
quatro formas sérias de estruturar dados em Python, cada uma com trade-offs que a documentação oficial não deixa claro. quando cada uma faz sentido, quando atrapalha, e o padrão borda/domínio que evita coerção silenciosa no lugar errado.
🔗 https://www.riverfount.dev.br/posts/cover-dataclass_namedtuple_attrs_pydantic./
#python #pydantic #dataclasses #boas-práticas
-
Python devs, is this familiar: Your team writes beautiful snake_case code, but every external API wants camelCase.
You could:
- Pollute your codebase with non-Pythonic naming
- Write manual conversion layers
- Live with the frictionOr you could use Pydantic's field aliases to solve this once and for all.
New guide: How to handle non-Pythonic naming conventions seamlessly 👇
https://link.testdouble.com/e357d1 -
Python devs, is this familiar: Your team writes beautiful snake_case code, but every external API wants camelCase.
You could:
- Pollute your codebase with non-Pythonic naming
- Write manual conversion layers
- Live with the frictionOr you could use Pydantic's field aliases to solve this once and for all.
New guide: How to handle non-Pythonic naming conventions seamlessly 👇
https://link.testdouble.com/e357d1 -
TIL #PyAI on March 10th 2026 (just missed it). Small event, focused on unglamourous AI in production, some of the speakers were practitioners I know and respect. The description reminds me a bit of #NormConf !
- Talk videos will hopefully be released online soon
- Blogpost by @pamelafox, one of the speakers: https://blog.pamelafox.org/2026/03/learnings-from-pyai-conference.html
- Organisers plan to organize another one next year 👀 -
TIL #PyAI on March 10th 2026 (just missed it). Small event, focused on unglamourous AI in production, some of the speakers were practitioners I know and respect. The description reminds me a bit of #NormConf !
- Talk videos will hopefully be released online soon
- Blogpost by @pamelafox, one of the speakers: https://blog.pamelafox.org/2026/03/learnings-from-pyai-conference.html
- Organisers plan to organize another one next year 👀 -
I used #Pydantic Evals to evaluate a bunch of agents today. After running an evaluation, I'd like to inspect the SpanTree for each evaluation case, e.g. to check which tools were called and debug my custom Evaluators. My current approach is a custom Evaluator that captures the tree as a side effect into a module-level variable.
Storing the trees in a global var is not great, so let's see if we can come up with a better solution: https://github.com/pydantic/pydantic-ai/issues/4758
-
Planning to make large behavioural changes to a (sometimes long-running) production-grade AI agent. Working with `pydantic-evals` today because I want to eval the agent before and after. So far it looks very similar to Langfuse datasets/runs for evalling, except that the data lives in your repository instead of in the Langfuse platform.
-
Hahaha, oh Pydantic...
> Unlike unit tests, evals are an emerging art/science. Anyone who claims to know exactly how your evals should be defined can safely be ignored.
Source: https://ai.pydantic.dev/evals/
-
RE: https://mastodon.social/@lobsters/116241885772634780
Oxyde looks really cool. I work with Pydantic a lot, but have missed having the Django ORM. Oxyde appears to bring a Django ORM-like experience to Pydantic, and I'm here for it.
-
Oh wow, another ORM! Because clearly, the world was begging for a "Pydantic-native async #ORM with a #Rust core" 😂. It's like they threw #buzzwords into a blender and hit "high performance"! 🥴
https://github.com/mr-fatalyst/oxyde #Pydantic #HighPerformance #HackerNews #ngated -
Oxyde – Pydantic-native async ORM with a Rust core
https://github.com/mr-fatalyst/oxyde
#HackerNews #Oxyde #Pydantic #ORM #Rust #async #Python #developer #tools
-
#Pydantic tip: If you want your Pydantic model to have an optional field without your IDE screaming at you about missing arguments, you MUST declare it typed | None = None
(OK so yeah that's a type and a default argument, gimme a break :)So you can't just:
class Moof():
dog: str
cow: str
is_mac_lore: bool | NoneBecause you'll still get missing argument whining. If however you declare it as:
class Moof():
dog: str
cow: str
is_mac_lore: bool | None = NoneYour red glowing IDE induced headache about missing arguments will subside and you can get on with your day :)
Happy #python coding!