Size: a a a

2021 April 16

KK

Kirill (Cykooz) Kuzm... in rannts
Могу с примером - декоратор для регистрации вьюшки для ресурса (ресурс задаётся классом ресурса)
@resource_view()
class UserView(BaseView):
   resource: User

   def http_get(self):
       print(self.resource.name)
       ...

Раньше мне приходилось и в декораторе указывать, что это вьюшка для ресурса User, и потом ещё в классе, что бы IDE подсказки давала. А потом я заюзал аннотации в рантайме и всё стало хорошо.
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Хотя я уже запутался. Я использую тайп-хинты. А аннотации - это разве по факту не то же самое? Просто более широкое понятие.
источник

TK

Tigran Kostandyan in rannts
Я, понимаю, но это как было. Я про то, что будет, а будет просто

def test() -> "SomeModel[AnotherModel]": ...
И вычислять так типы очень сложно
источник

TK

Tigran Kostandyan in rannts
Об этом и говорит создатель pydantic
источник

TK

Tigran Kostandyan in rannts
До этого PEP'а аннотации (type hints) вычислялись во время объявления функции/переменной/аттрибута
источник

TK

Tigran Kostandyan in rannts
А теперь отложенно будут
источник

F

Fred in rannts
у пайдантика кстати расширение для чарма есть
источник

F

Fred in rannts
вроде норм подсказывает
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Вроде это давно обещали, и это правильно - а то приходилось указывать тип в хинтах как строку (в кавычках) только из-за того, что этот тип ещё не определён, и будет объявлен ниже.
С lazy-хинтами не будут нужны такие выкрутасы.
источник

TK

Tigran Kostandyan in rannts
Да, все так. Проблема в том, что lazy-хинтов не завезут в 3.10 скорее всего)
источник

TK

Tigran Kostandyan in rannts
То есть мб на один мажорный релиз pydantic слегка (или сильно) поломается
источник

F

Fred in rannts
сильно, а за ним верней вместе fastapi поломается
источник

F

Fred in rannts
одно радует sqlalchemy асинхронная вышла)
источник

F

Fred in rannts
можно не заниматься фигней теперь и run_in_executor поменьше использовать, на много меньше
источник

TK

Tigran Kostandyan in rannts
gino не пользовался?
источник

F

Fred in rannts
пользовался, не нравится..
источник

TK

Tigran Kostandyan in rannts
Я просто настраиваю его и юзаю алхимию напрямую, получается за меня все gino делает и можно алхимию в асинк коде юзать
источник

RB

Roman Bolkhovitin in rannts
А если не норм, то чувак фиксит просто мгновенно. Ну или мне повезло - ишью открыл, он буквально сразу починил ))
источник

RB

Roman Bolkhovitin in rannts
from __future__ import annotations можно сделать
источник

SA

Sergey Arkhipov in rannts
Если я правильно помню, то поддержка аннотаций появилась за год что ли до mypy
источник