invest-python icon indicating copy to clipboard operation
invest-python copied to clipboard

Генератор grpc клиента

Open daxartio opened this issue 2 years ago • 8 comments

Описание

На данный момент для удобства все объекты представлены как dataclass-ы. И происходит конвертация в типы от protobuf. Модельки приходится поддерживать руками. Чтобы избавиться от рутины, предлагается написать свой генератор клиента. Есть вариант использовать proto-plus-python. Но все равно придется писать свой генератор.

Вопросы

  1. Почему не подходит betterproto? Из коробки поддерживает grpclib и работает только в асинхронном варианте. Непонятно как работать с метадатой
  2. Чем плох стандартный генератор? Стандартный генератор не пайтоник. Сложно использовать. Нужна абстракция для упрощения использования

daxartio avatar Jan 24 '22 07:01 daxartio

  1. Как насчет обернуть асинхронку в синхронные asyncio.get_event_loop().run_until_complete() ? И что не так с метадатой?

slavashvets avatar Feb 01 '22 01:02 slavashvets

Обернуть можно, но кто-то может начать юзать в тред пуле и может быть сложно с этим работать С метадатой все норм. betterproto генерит не очень хороший клиент

daxartio avatar Feb 02 '22 16:02 daxartio

Доброго времени! А UML будущего решения имеется?

CatherinePRO avatar Feb 03 '22 12:02 CatherinePRO

Не планируется) Я уже написал реализацию. Скорее всего совместимость никак не сломается. Будем использовать proto-plus

daxartio avatar Feb 03 '22 19:02 daxartio

Ок. Спасибо. Метод для запроса общего баланса портфеля не реализован - самой считать? Т.к. в маржиналке не будет отражаться стоимость не ликвидных бумаг

CatherinePRO avatar Feb 03 '22 19:02 CatherinePRO

Что за метод? Такого же нет в API. Этот репозиторий только клиент для invest api

daxartio avatar Feb 04 '22 05:02 daxartio

Что за метод? Такого же нет в API.

Значит отсутствие его в API мне не приснилось ;)

@daxartio Спасибо за уточнение и оперативные ответы.

CatherinePRO avatar Feb 04 '22 10:02 CatherinePRO

Разрабка ведтся в ветке https://github.com/Tinkoff/invest-python/tree/gen-grpc

daxartio avatar Oct 09 '22 13:10 daxartio