Size: a a a

2021 September 02

ED

Eugene Denisov in PiterPy Meetup
А, тогда грепнуть все питоньи файлы по слову import и оставить в выводе pip freeze только то, что там встречается.
источник

Б

Боброний in PiterPy Meetup
Была такая мысль, да. Но там бинари есть ещё
источник

ED

Eugene Denisov in PiterPy Meetup
И неявные зависимости по типу psycopg.
источник

Б

Боброний in PiterPy Meetup
Да
источник

Б

Боброний in PiterPy Meetup
Там резолвер старый/баганный
источник

Б

Боброний in PiterPy Meetup
pip резолвит норм, а pip-compile нарывается на конфликты
источник
2021 September 07

IV

Iuliia Volkova in PiterPy Meetup
всем привет, а есть ли среди нас те, кто сознательно переводил проект с использования marshmallow на pydantic по каким-то объективным причинам, а не потому что на каждом углу “pydantic pydantic pydantic”? Буду очень благодарна, если такие найдуться и поделяться причинами)
источник

Б

Боброний in PiterPy Meetup
Тоже было бы любопытно послушать :)


А откуда возник вопрос? Хочется затащить pydantic?
источник

IV

Iuliia Volkova in PiterPy Meetup
долгая история ) но если коротко ответить - не совсем, мы уже пользуем в своем сервисе pydantic, и я его использую, но меня попросили сделать демо для архитектурного планинга в крупной компании, и там один из вопросов был - “вот мы используем уже у себя маршмэлоу, есть ли вообще какой-то резон переходить на pydantic и почему именно pydantic,а не маршмэлоу”, я сама смотрю их и сверяю, но интересно было бы найти кого-то с боевым опытом перехода или сравнения. Или даже наоборот, почему НЕ pydantic.
источник

IV

Iuliia Volkova in PiterPy Meetup
очень большое количество команд и людей задействовано) поэтому я пытаюсь все за и против взвесить, чтобы получился максимально объективный результат
источник

Б

Боброний in PiterPy Meetup
Ага, ясненько, благодарю
источник

Б

Боброний in PiterPy Meetup
Почему не pydantic (не в сравнении с чем-то, а просто минусы с которыми сталкивался):
- Нет computed fields (но есть PR, который уже очень близок к мержу, если уже не вмержен)

- Нельзя конфигурировать многие вещи на уровне моделей, например какие поля должны быть исключены из результата .dict() и т. п., из-за этого приходится под одни и те же данные клипать несколько моделей с разным набором полей (PR, который добавляет возможность исключать поля через схему уже вмержен, но релиза ещё нет)

- Нет «лёгких» неизменяемых моделей, которые использовали бы слоты для всех полей. Но мне такое только однажды пригодилось в проде.

- Нестрогость по-умолчанию: “1” — это валидный bool, 1 — валидный float, 1.4 — валидный int и т. п. (где-то мог наврать в примерах)
источник

Б

Боброний in PiterPy Meetup
Но это всё придирчивые придирки)
источник

IV

Iuliia Volkova in PiterPy Meetup
спасибо огромное ) добавлю в копилку возможных “но"
источник

Б

Боброний in PiterPy Meetup
Почему pydantic:
- Он красивый
- Он дружит с интроспекцией (ето я сделяль ☺️): help(Model)) покажет красивую сигнатуру, hypotheses-auto понимает, как тестировать модели
- Он популярный (нет, серьёзно — из-за того как он работвет в питоне откатили фичу уже после лока изменений и сейчас пересматривают её реализацию)
- Он быстрый

И ещё:
- У него есть дженерики
- Есть ORM на его базе
- Есть веб-фреймворк на его базе
- У него красивая дока с примерами
- Его автор слушает комьюнити
- У него неплохая кодовая база
источник

ВТ

Виктор Титов... in PiterPy Meetup
а что за орм на его базе?
источник

Б

Боброний in PiterPy Meetup
SQLModel
источник

ВТ

Виктор Титов... in PiterPy Meetup
спасибо
источник

Б

Боброний in PiterPy Meetup
@xnuinside, вот плюсики)
источник

Б

Боброний in PiterPy Meetup
Про маршмеллоу ничего не могу сказать, сам не пробовал и в проде не видел
источник