Любой, кто писал конструктор запросов или фильтр над пользовательским вводом, знает, как это начинается. Сначала модель данных — это один простой класс, и кажется на этом всё. Через пару месяцев в нём value: Any, рядом валидатор строк на сто, и где-то посередине ветка, которую ты дописал ночью перед релизом, потому что кто-то прислал диапазон туда, где ждали число. Тесты зелёные: на эту комбинацию их просто не было. Падает, разумеется, в проде.
Рубрика «pydantic»
Невыразимое невалидное. Часть 1. Данные
2026-06-19 в 10:48, admin, рубрики: Discriminated unions, mypy, pydantic, python, аннотация типов, типизация, типы данныхКак я превратил хаотичные формы во Vue в типизированную модель данных (AdaptForm)
2026-06-06 в 12:49, admin, рубрики: javascript, npm пакеты, pydantic, TypeScript, библиотека, валидация полей, валидация форм, типизация, фронтендИстория о том, как задача «подсветить обязательные поля» превратилась в полноценную TypeScript-библиотеку с 500+ скачиваниями в неделю.
Введение
Tilda + СБИС Presto: пишем интеграцию на Python, когда готового решения не существует
2026-04-30 в 20:15, admin, рубрики: fastapi, httpx, presto, pydantic, python, tilda, webhook, интеграция, СБИСМы проверили - ни одной статьи на эту тему нет. Ни на Хабре, ни на GitHub. Albato умеет Tilda + СБИС CRM, но не Presto. CommerceML нестабилен. Кастомный сервис — единственный рабочий путь.
Клиент пришёл с простой задачей: заказы с сайта на Tilda должны автоматически попадать в СБИС Presto. Казалось бы, популярные инструменты — должно быть готовое решение. Его не оказалось.
Написали свой сервис месяц в продакшене, всё работает. Рассказываем как — с кодом, граблями и объяснением неочевидных мест в документации СБИС.
Стек: Python, FastAPI, Pydantic, httpx, cachetools.
Pydantic vs Adaptix – плюсы, минусы и области применения
2026-01-12 в 20:16, admin, рубрики: adaptix, pydantic, pythonНебольшое введение к тому, как мы собственно до всего этого дошли.
Современная экосистема Python переживает большую трансформацию в подходах к обработке, валидации и (де)сериализации данных. Еще совсем недавно (десять лет назад) в питоне не было аннотаций типов, все использовали ручные проверки типов, да и в принципе мало кто заморачивался с контрактами для данных.
С появлением аннотаций типов в 3.5 версии, все потихоньку начало меняться – аннотации типов начали указывать везде, и сейчас, мало кто представляет жизнь без них. Их появление, собственно, открыло возможность декларативного программирования.
Как мы перестали хранить Pydantic в JSON и в 7 раз сократили расход памяти в Redis
2025-10-28 в 21:21, admin, рубрики: pydantic, python, бинаризацияУ нас был большой продакшен-сервис с ~10M MAU, где Redis использовался как основное хранилище состояния пользователей. Все данные лежали в нём в виде JSON-сериализованных Pydantic-моделей. Это выглядело удобно, пока не стало больно.
Как я сделал LLM-сервис, который понимает буровые сводки
2025-10-09 в 11:29, admin, рубрики: fastapi, llm, nlp, oil, OpenAI, pydantic, python, RNDПривет! Меня зовут Стас, я занимаюсь R&D в компании ROGII.
Я пришёл в ROGII после нескольких лет работы «в поле» — от тундры Уренгойских месторождений до Сахалина. Там я понял, что буровые данные живут в хаосе: у каждого вендора — свой формат, у каждой скважины — свой стиль отчёта.
Когда я оказался в компании, которая консолидирует буровые данные в облаке, задача встала ребром: нужно научить машину понимать суточные рапорты так же, как это делает инженер.
Мы собрали 507 PDF‑файлов (всего 14 678 страниц) и выделили 23 типа отчётов по признаку компании и структуры.
Читать полностью »
Создание умных AI-агентов: полный курс по LangGraph от А до Я. Часть 2. Диалоговые агенты: память, сообщения и контекст
2025-09-20 в 7:52, admin, рубрики: ai-агенты, chatgpt api, deepseek, GigaChat, LangChain, langgraph, pydantic, python, ии-агенты, нейросетиПредставьте себе AI-агента, который не просто выполняет изолированные задачи, а ведет осмысленный диалог, запоминает контекст разговора и принимает решения на основе накопленной информации.
Вместо простого:
-
Пользователь: "Сколько будет 2+2?"
-
Бот: "4"
Мы создадим агента, который может:
-
Пользователь: "Привет! Меня зовут Алексей, я работаю Python-разработчиком"
-
Агент: "Приятно познакомиться, Алексей! Как дела в мире Python? Над какими проектами сейчас работаешь?"
-
ПользовательЧитать полностью »
Агенты в Pydantic AI от вызова LLM до MCP
2025-04-12 в 16:41, admin, рубрики: AI, llm, pydantic, агенты ии, искусственный интеллектВведение
Всем привет, сегодня я расскажу вам о том, как можно делать агентов с помощью Pydantic AI.
Pydantic AI - фреймворк от создателей Pydantic - популярной библиотеки для валидации данных в Python с ядром на Rust.
Начнем с простых примеров в виде вызова LLM , а затем постепенно будем усложнять задачу, создавая более сложного агента.
Виртуальное окружение.
В качестве пакетного менеджера в данном проекте используется uv, однако вы можете использовать любой другой, удобный вам, просто имейте это ввиду при установке пакетов.
Репозиторий
Весь код примеров ниже доступен на Читать полностью »
Делаем управление конфигами удобным при помощи pydantic_settings
2024-12-14 в 5:16, admin, рубрики: pydantic, pydantic_settings, python, конфиги, настройкиКонфиги используются в каждом приложении. Многие разработчики используют для управления конфигурационными файлами стандартные библиотеки по типу json и yaml, а также python-dotenv для загрузки чувствительных данных из файла в переменные окружения. В этой статье мы научимся загружать как нечувствительные данные из файлов TOML, так и переменные из .env в классы
Подготовка
Установим нужные библиотеки в окружение:
pip install pydantic-settings
Затем в корне проекта создадим:
-
Файл
main.py -
Директорию
settings, которая будет содержать 2 файла:Читать полностью »
В нашей команде бытует хорошая практика фиксировать всё изменения, которые отправляются в продакшен в гитхабовских релизах. Однако, не вся наша команда имеет доступ в гитхаб, а о релизах хочется знать всем. Так сложилась традиция релиз из гитхаба дублировать в рабочем чате команды в телеграме. Что хорошо, гитхаб позволяет с помощь маркдауна красиво оформить релиз с разделением на секции и ссылками на задачи, которые отправляются на выкатку. Что плохо, простым copy/paste всю эту красоту в телеграм не перенесёшь и приходится тратить время на довольно нудную работу по повторному оформлению релиза, но уже в телеграме. Ну а посколько программисты народ ленивый, я решил этот процесс автоматизировать.
Исходные данные:
- Гитхаб умеет сообщать обо всём, что происходит в репозитории с помощью вебхуков
- Вся необходимая для формирования релиза информация содержится в теле запроса, который кидает вебхук
- Авторизация идёт через подпись запроса секретом, который проставляется в настройках вебхука
Соответственно, задача заключается в том, чтобы поднять HTTP API, который сможет принять POST запрос, проверить подпись, извлечь нужную информацию из тела запроса и передать её дальше по инстанции. Как тут не попробовать FastAPI, на который я давно глаз положил?
Кто такой FastAPI?
FastAPI — это фреймворк для создания лаконичных и довольно быстрых HTTP API-серверов со встроенными валидацией, сериализацией и асинхронностью,
что называется, из коробки. Стоит он на плечах двух других фреймворков: работой с web в FastAPI занимается Starlette, а за валидацию отвечает Pydantic.
Комбайн получился легким, неперегруженным и более, чем достаточным по функционалу.
