Skip to content

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

Open
daxartio opened this issue Jan 24, 2022 · 8 comments
Open

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

daxartio opened this issue Jan 24, 2022 · 8 comments
Labels
enhancement New feature or request

Comments

@daxartio
Copy link
Contributor

daxartio commented Jan 24, 2022

Описание

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

Вопросы

  1. Почему не подходит betterproto? Из коробки поддерживает grpclib и работает только в асинхронном варианте. Непонятно как работать с метадатой
  2. Чем плох стандартный генератор? Стандартный генератор не пайтоник. Сложно использовать. Нужна абстракция для упрощения использования
@daxartio daxartio changed the title Свой генератор grpc клиента Генератор grpc клиента Jan 24, 2022
@slavashvets
Copy link

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

@daxartio
Copy link
Contributor Author

daxartio commented Feb 2, 2022

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

@CatherinePRO
Copy link

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

@daxartio
Copy link
Contributor Author

daxartio commented Feb 3, 2022

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

@CatherinePRO
Copy link

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

@daxartio
Copy link
Contributor Author

daxartio commented Feb 4, 2022

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

@CatherinePRO
Copy link

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

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

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

@daxartio daxartio added the enhancement New feature or request label Mar 29, 2022
@daxartio
Copy link
Contributor Author

daxartio commented Oct 9, 2022

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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants