Tinkoff / invest-python

Tinkoff Invest Python gRPC client
https://tinkoff.github.io/invest-python/
Apache License 2.0
313 stars 90 forks source link

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

Open daxartio opened 2 years ago

daxartio commented 2 years ago

Описание

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

Вопросы

  1. Почему не подходит betterproto? Из коробки поддерживает grpclib и работает только в асинхронном варианте. Непонятно как работать с метадатой
  2. Чем плох стандартный генератор? Стандартный генератор не пайтоник. Сложно использовать. Нужна абстракция для упрощения использования
slavashvets commented 2 years ago
  1. Как насчет обернуть асинхронку в синхронные asyncio.get_event_loop().run_until_complete() ? И что не так с метадатой?
daxartio commented 2 years ago

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

CatherinePRO commented 2 years ago

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

daxartio commented 2 years ago

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

CatherinePRO commented 2 years ago

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

daxartio commented 2 years ago

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

CatherinePRO commented 2 years ago

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

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

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

daxartio commented 1 year ago

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