Size: a a a

2021 November 25

АП

Алексей А́риксу Петр... in PiterPy Meetup
Скорее всего это означает что вы раньше не давали работать со своим кодом другому человеку. В этом случае вам неоткуда научится писать хороший поддерживаемый код.
источник

АП

Алексей А́риксу Петр... in PiterPy Meetup
Можно в качестве другого человека использовать себя самого: дорабатывать свой код годовой и более давности, но это во-первых сложно, во-вторых менее эффективно.
источник

IV

Iuliia Volkova in PiterPy Meetup
по моему опыту - код саентистов, хотя и может выглядеть как что-то дикое, но логика там обычно верная и задачи код свои выполняет
источник

IV

Iuliia Volkova in PiterPy Meetup
а вот в легаси без документации - там может быть полно сюрпризов, особенно если тебе надо на него реверс инжениринг сделать
источник

АП

Алексей А́риксу Петр... in PiterPy Meetup
чятик, поможите пожалуйста. Пишу процесс сложной логики, надо переключаться между некоторым количеством стейтов, пишу соответственно стейт-машину.
Наткнулся на то, что энам нормально не (де)сериализуется в питоне в жсон. В рамках плоского датакласса ему ещё можно сделать воркэраунд унаследовав от str, а в рамках структуры это уже не работает. Более того, единственный нормальный способ - это сериализоывать энамы кастомным сериалайзером под каждый класс свой. Думается мне что я иду не по питоновскому пути, судя по количеству проблем, это не должно быть так сложно.

Можете посоветовать другой угол зрения?

https://gist.github.com/ariksu/836a249b217eb43aff67498aa0add226 - пример рабочей плоской структуры

https://gist.github.com/ariksu/7a87115ebe1c6d496b2802da3d1b6852 пример нерабочей структуры.
источник

e

esp in PiterPy Meetup
Pydantic не подойдёт?
источник

e

esp in PiterPy Meetup
marshmallow?
источник

BK

Bogdan Kalashnikov in PiterPy Meetup
+1 к пидантику, если надо грузить данные, а не только дампать, то без него (или аналогов) не удобно. голые датаклассы заставят тонну бойлерплейт кода писать
источник

АП

Алексей А́риксу Петр... in PiterPy Meetup
Ага, то есть это industry standard для десериализации?
источник

BK

Bogdan Kalashnikov in PiterPy Meetup
Жсон надо грузить в строго типизированные модели с преобразоваением типов. Пидантик под это как раз заточен
источник

BK

Bogdan Kalashnikov in PiterPy Meetup
Можно еще pickle с потерей скорости и завязкой на питон-онли
источник

АП

Алексей А́риксу Петр... in PiterPy Meetup
Ага, осознал, спасибо.
источник

АП

Алексей А́риксу Петр... in PiterPy Meetup
Нет, пикл не даёт человекочитаемость
источник

АП

Алексей А́риксу Петр... in PiterPy Meetup
Тоже посмотрю, спасибо.
источник

IV

Iuliia Volkova in PiterPy Meetup
если смотреть marshmallow, то лучше сначала pydantic глянуть
источник

BK

Bogdan Kalashnikov in PiterPy Meetup
Вроде еще yaml что-то может с сериализацией объектов делать, но я не проверял и не знаю что там за подводные камни
источник

e

esp in PiterPy Meetup
Ага, pydantic посовременнее, на типах. И датаклассы из коробки поддерживает
источник

e

esp in PiterPy Meetup
Я делал на ямл, тоже иерархии классов (де)сериализовал. Pydantic всё равно лучше и красивее :)
источник

YO

Yaroslav Ogloblin in PiterPy Meetup
Ну, я бы сказал что код сайнтистов должны они же и поддерживать. А учитывая специфику, поддержка может состоять в полном переписывании кода с нуля. Что-то поменялось и модель уже нужна совсем другая. Это не всегда, но бывает. Ну а на счёт чистоты кода, ниже правильно сказано, что это может выглядеть дико для быков, но правильно для ML. Говорю как бэк изучающий ML :)
источник

p

pragus in PiterPy Meetup
А много ли на рынке вакансий/людей на async python? Т.е. без django, ml, flask итп.
источник