Size: a a a

2020 November 02

SZ

Sergey Z in rannts
GitHub предупредил о возможной блокировке пользователей, тиражирующих заблокированные репозитории
В ответ на активность пользователей по массовому созданию клонов заблокированного репозитория youtube-dl на GitHub, Джесси Джерачи (Jesse Geraci), корпоративный юрист компании GitHub, внёс изменения в правила обработки запросов о нарушении Закона об авторском праве в цифровую эпоху (DMCA). В документе появилось предупреждение о недопустимости повторной публикации заблокированного контента другими пользователями. Подобное действие рассматривается как нарушение условий использования GitHub и может привести приостановке действия учётной записи пользователя.
источник

SA

Sergey Arkhipov in rannts
Офигеть, раньше этого пункта не было...
источник

ND

Nick Demidov in rannts
А кто-нибудь знает как решить проблему поиска id в Facebook?
источник

💭П

💭 Руслан Прохоров... in rannts
Sergey Z
GitHub предупредил о возможной блокировке пользователей, тиражирующих заблокированные репозитории
В ответ на активность пользователей по массовому созданию клонов заблокированного репозитория youtube-dl на GitHub, Джесси Джерачи (Jesse Geraci), корпоративный юрист компании GitHub, внёс изменения в правила обработки запросов о нарушении Закона об авторском праве в цифровую эпоху (DMCA). В документе появилось предупреждение о недопустимости повторной публикации заблокированного контента другими пользователями. Подобное действие рассматривается как нарушение условий использования GitHub и может привести приостановке действия учётной записи пользователя.
А за что их за блокировали?
источник

SZ

Sergey Z in rannts
💭 Руслан Прохоров
А за что их за блокировали?
Софтина youtube-dl впала в немилость у копирастов
источник

💭П

💭 Руслан Прохоров... in rannts
Sergey Z
Софтина youtube-dl впала в немилость у копирастов
Да. Уже нашёл пост на гитхабе ( Полез на сейт и сказал исходники и последнюю версию. Надо ещё яйца с PyPi скачать )
источник

RB

Roman Bolkhovitin in rannts
Годы шли, а Руслан так и не завел себе зеркало pypi, хотя очень хотел 😊
источник

💭П

💭 Руслан Прохоров... in rannts
Roman Bolkhovitin
Годы шли, а Руслан так и не завел себе зеркало pypi, хотя очень хотел 😊
ресурсов не хватает (
источник

💭П

💭 Руслан Прохоров... in rannts
Пока использую Артифактори работодателя))) Они имеют свой клон )))
источник

SZ

Sergey Z in rannts
Roman Bolkhovitin
Годы шли, а Руслан так и не завел себе зеркало pypi, хотя очень хотел 😊
Надо уж сразу зеркало интернета пилить
источник
2020 November 03

AM

Artem Malyshev in rannts
Sergey Arkhipov
Вообще, конечно, Pydantic невероятно ублюдочно уродлив внутри. И местами адски нелогичен. Скажем, есть класс pydantic.networks.HttpUrl. Угадайте, каким образом можно какой-нибудь http://yandex.ru превратить в экземпляр этого класса.

С другой стороны, все остальное с валидацией в питоне ещё хуже с точки зрения пользователя
> С другой стороны, все остальное с валидацией в питоне ещё хуже с точки зрения пользователя

Позволю себе не согласиться с данным утверждением.

С точки зрения расширения из вне, какой-нибудь marshmallow гораздо лучше смотрится. Например, нужно передать какой-нибудь объект, в который не умеет pydantic. Например, django model, bound method или ещё что-то. В случае с пидантиком - присылай пулл реквест и надейся что автору эта фича понравится. __validators__ не везде есть вариант писать.

Или например, у меня в одной модели есть несколько int полей. Один количество лайков, другой score кредитной истории. У них разные правила валидации а как об этом рассказать Pydantic я тоже не понял. NewType он насколько я помню не поддерживает.

В случае с условным marshmallow единственное что нужно сделать это под каждый написать свой Field в котором будут полтора метода.
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Эээ, накой тогда этот пидантинк нужен, если для него нельзя использовать кастомные типы данных со своими правилами сериализации/десериализации и валидации?
Без кастомных типов его можно разве, что использовать в качестве первичного обработчика. После которого результат надо передать "взрослым дядям" для доводки напильником.
источник

AM

Artem Malyshev in rannts
Вообще я пришёл к выводу, что type hints это очень плохое средство для постороения API библиотеки. В силу целого ряда причин, начиная с кривой реализации typing модуля и заканчивая гуляниями в поведении интерпретарова на разных версиях. Ой, у нас Optional это на самом деле Union[NoneType, x] в рантайме. Ой, понять от чего там у вас Set[x] или List[y]` нельзя без палки в жопу. Ой, пользовател написал аннотацию строкой, парси всё руками как чмо. И да, кочечно всё это менялось в 3.5.0, 3.5.2, 3.5.3, 3.5.4, 3.6.0, 3.6.1, 3.6.2, 3.7.0, и 3.7.2 версиях питона. Так что ты сидишь и подбираешь под это цирк с конями хоть какую-то эвристику.

Мы по этой причине даже на attrs перешли со скучными attrib.

В общем, аннотации я бы только для mypy оставил.
источник

AM

Artem Malyshev in rannts
Kirill (Cykooz) Kuzminykh
Эээ, накой тогда этот пидантинк нужен, если для него нельзя использовать кастомные типы данных со своими правилами сериализации/десериализации и валидации?
Без кастомных типов его можно разве, что использовать в качестве первичного обработчика. После которого результат надо передать "взрослым дядям" для доводки напильником.
Если твои кастомные типы данных тоже pydantic модели, то можно. Но в большенстве случаев это не так.
источник

AM

Artem Malyshev in rannts
источник

KK

Kirill (Cykooz) Kuzm... in rannts
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Вроде как раз можно запилисть свой тип, унаследовав его от любого другого (в твоём примере от int)
источник

AM

Artem Malyshev in rannts
Молодцы что добавили. Меня конечно немного коробит что SRP нарушен в силу того, что в существующую сущность подмешивают что-то про какую-то схему. Мне вариант с отдельным Field объектом сильно больше нравится.
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Ну да, было бы наверное правильнее, если бы "генераторы" схемы регались отдельно. Так что бы их можно было переопределить даже для базовых типов данных.
источник

SA

Sergey Arkhipov in rannts
Ну да, то, что Кирилл нашел, либо есть ещё декоратор для валидатора конкретного поля.

Датаклассы и attrs тоже то ещё говно. Если у пидантика все это уродство положено во имя благой цели удобства валидации, то на кой божий хрен нужны датаклассы и аттрс понятно не очень. Да, там немного компактнее запись, но не более того. На практике value proposition очень сомнительное. Почти никогда не нужны кастомные сравнения, если нужен свой хеш, то чаще всего он руками пишется. А ради репра тащить - очень, конечно, надо.

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