Комментарии 13
иногда возникают проблемы с циклическими импортами, но их немного, и ими можно пренебречь.
вот этот момент очень интересует, в случае появления циклического импорта вы просто забиваете болт на типы, или как-то решаете проблему. Если второе, то расскажите как?
пишем докстринг вида
typeguard в таком случае типы не проверяет
В нашем проекте все проблемы циклических импортов возникают, когда одна django модель импортирует другую.
"""
circular import
-> Optional[MetaOrder]:
"""
typeguard в таком случае типы не проверяет
В нашем проекте все проблемы циклических импортов возникают, когда одна django модель импортирует другую.
Позвольте уточнить. А предусмотренный модулем typing forward reference в виде
something: Optional['MetaOrder']
в вашем случае не работает?return OrderInfoResult(
dict(
order_id=data_in.order_id,
checkin_at=dt.datetime.today(),
checkout_at=dt.datetime.today() + dt.timedelta(days=1),
cancelled_at=None,
)
)
Не очень понятно зачем у вас модели принимают dict, а не конкретные атрибуты. Это же, по-сути, делает невозможным проверку такого кода статическим type-checker'ом, если только в конструкторе модели не указан тип TypedDict
декоратор @contract поддерживает Generic'и?
Не могу сказать насчет pycontracts
typeguard прямо сейчас кажется нет, тк вот issue github.com/agronholm/typeguard/issues/21
typeguard прямо сейчас кажется нет, тк вот issue github.com/agronholm/typeguard/issues/21
Получается вы вообще не используете в проекте generic'и?
Не используем.
или у вас @typechecked используется только для входных/выходных параметров api?
Нуу, это где-то 50% проекта + бизнес логика еще где-то 30%
Добрый день, спасибо что упомянули о enforce. Как автор этой библиотечки — приятно слышать, когда о ней говорят. Если честно, то много негатива услышал, когда ее чисто на голом энтузиазме писал.
Хочу еще сказать, что поддержка 3.7+ просто нереальная задача для меня одного на данный момент. Это придется почти все переписать. И надо будет дропнуть поддержку всех более старых версий. Это слишком сильно давит на мотивацию. Если кто-то хочет помочь, то буду рад помочь.
Хочу еще сказать, что поддержка 3.7+ просто нереальная задача для меня одного на данный момент. Это придется почти все переписать. И надо будет дропнуть поддержку всех более старых версий. Это слишком сильно давит на мотивацию. Если кто-то хочет помочь, то буду рад помочь.
я верно понимаю что основная проблема в зависимости и в этом issue
github.com/golemfactory/golem/issues/3954?
github.com/golemfactory/golem/issues/3954?
github.com/RussBaz/enforce/issues/71
С моей стороны самая большая пробоема в том, что в 3.7 сильно поменялась внутренняя структура модуля typing. И в месте с этим встала большая проблема совместимости с прошлыми версиями. Да и вообще, теперь надо много чего переписывать.
С моей стороны самая большая пробоема в том, что в 3.7 сильно поменялась внутренняя структура модуля typing. И в месте с этим встала большая проблема совместимости с прошлыми версиями. Да и вообще, теперь надо много чего переписывать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
История типизации на примере одного большого проекта