From 50e0a789d74146bc4386859853933c4b21aa0031 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Thu, 18 May 2023 03:41:28 +0000 Subject: automatic import of python-tinvest --- python-tinvest.spec | 567 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 567 insertions(+) create mode 100644 python-tinvest.spec (limited to 'python-tinvest.spec') diff --git a/python-tinvest.spec b/python-tinvest.spec new file mode 100644 index 0000000..760ed80 --- /dev/null +++ b/python-tinvest.spec @@ -0,0 +1,567 @@ +%global _empty_manifest_terminate_build 0 +Name: python-tinvest +Version: 3.0.5 +Release: 1 +Summary: Tinkoff Invest +License: MIT +URL: https://pypi.org/project/tinvest +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d9/8a/e0cb38ceb2efc6f571ad12875a6bb906af8cdc1eeecbee1f9e2a92fc19ff/tinvest-3.0.5.tar.gz +BuildArch: noarch + +Requires: python3-aiohttp +Requires: python3-pydantic +Requires: python3-requests +Requires: python3-typer +Requires: python3-uvloop +Requires: python3-orjson + +%description +# T-Invest + +[![Build Status](https://api.travis-ci.com/daxartio/tinvest.svg?branch=master)](https://travis-ci.com/daxartio/tinvest) +[![PyPI](https://img.shields.io/pypi/v/tinvest)](https://pypi.org/project/tinvest/) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/tinvest)](https://www.python.org/downloads/) +[![Codecov](https://img.shields.io/codecov/c/github/daxartio/tinvest)](https://travis-ci.com/daxartio/tinvest) +[![GitHub last commit](https://img.shields.io/github/last-commit/daxartio/tinvest)](https://github.com/daxartio/tinvest) +[![Tinvest](https://img.shields.io/github/stars/daxartio/tinvest?style=social)](https://github.com/daxartio/tinvest) + +``` +pip install tinvest +``` + +Данный проект представляет собой инструментарий на языке Python для работы с OpenAPI Тинькофф Инвестиции, который можно использовать для создания торговых роботов. + +Клиент предоставляет синхронный и асинхронный API для взаимодействия с Тинькофф Инвестиции. + +Есть возможность делать запросы через командную строку, подробнее [тут](https://daxartio.github.io/tinvest/cli/). + +``` +pip install tinvest[cli] + +# Пример использования +tinvest openapi --token TOKEN portfolio +``` + +Performance + +``` +pip install tinvest[uvloop] +pip install tinvest[orjson] +``` + +[orjson](https://github.com/ijl/orjson) +[uvloop](https://github.com/MagicStack/uvloop) + + +## Начало работы + +### Где взять токен аутентификации? + +В разделе инвестиций вашего [личного кабинета tinkoff](https://www.tinkoff.ru/invest/). Далее: + +* Перейдите в настройки +* Проверьте, что функция "Подтверждение сделок кодом" отключена +* Выпустите токен для торговли на бирже и режима "песочницы" (sandbox) +* Скопируйте токен и сохраните, токен отображается только один раз, просмотреть его позже не получится, тем не менее вы можете выпускать неограниченное количество токенов + +## Документация + +[tinvest](https://daxartio.github.io/tinvest/) + +[invest-openapi](https://tinkoffcreditsystems.github.io/invest-openapi/) + +### Быстрый старт + +Для непосредственного взаимодействия с OpenAPI нужно создать клиента. Клиенты разделены на streaming и rest. + +Примеры использования SDK находятся [ниже](#Примеры). + +### У меня есть вопрос + +[Основной репозиторий с документацией](https://github.com/TinkoffCreditSystems/invest-openapi/) — в нем вы можете задать вопрос в Issues и получать информацию о релизах в Releases. +Если возникают вопросы по данному SDK, нашёлся баг или есть предложения по улучшению, то можно задать его в Issues. + +## Примеры + +Для работы с данным пакетом вам нужно изучить [OpenAPI Тинькофф Инвестиции](https://tinkoffcreditsystems.github.io/invest-openapi/swagger-ui/) + +### Streaming + +Предоставляет асинхронный интерфейс. + +> При сетевых сбоях будет произведена попытка переподключения. + +```python +import asyncio +import tinvest as ti + + +async def main(): + async with ti.Streaming('TOKEN') as streaming: + await streaming.candle.subscribe('BBG0013HGFT4', ti.CandleResolution.min1) + await streaming.orderbook.subscribe('BBG0013HGFT4', 5) + await streaming.instrument_info.subscribe('BBG0013HGFT4') + async for event in streaming: + print(event) + + +asyncio.run(main()) +``` + +### Синхронный REST API Client + +Для выполнения синхронных http запросов используется библиотека `requests`. +С описанием клиентов можно ознакомиться по этой [ссылке](https://daxartio.github.io/tinvest/tinvest/clients/). + +```python +import tinvest + +TOKEN = "" + +client = tinvest.SyncClient(TOKEN) + +response = client.get_portfolio() # tinvest.PortfolioResponse +print(response.payload) +``` + +```python +# Handle error +... +client = tinvest.SyncClient(TOKEN) + +try: + response = client.get_operations("", "") +except tinvest.BadRequestError as e: + print(e.response) # tinvest.Error +``` + +### Асинхронный REST API Client + +Для выполнения асинхронных http запросов используется библиотека `aiohttp`. +Клиенты имеют такой же интерфейс как в синхронной реализации, за исключением того, +что функции возвращают объект корутина. + +```python +import asyncio +import tinvest + +TOKEN = "" + + +async def main(): + client = tinvest.AsyncClient(TOKEN) + response = await client.get_portfolio() # tinvest.PortfolioResponse + print(response.payload) + + await client.close() + +asyncio.run(main()) +``` + +### Sandbox + +Sandbox позволяет вам попробовать свои торговые стратегии, при этом не тратя реальные средства. Протокол взаимодействия полностью совпадает с Production окружением. + +```python +client = tinvest.AsyncClient(SANDBOX_TOKEN, use_sandbox=True) +# client = tinvest.SyncClient(SANDBOX_TOKEN, use_sandbox=True) +``` + +## Environments + +| name | required | default | +|-----------------------|:--------:|--------:| +| TINVEST_TOKEN | optional | '' | +| TINVEST_SANDBOX_TOKEN | optional | '' | +| TINVEST_USE_ORJSON | optional | True | +| TINVEST_USE_UVLOOP | optional | True | + +## Contributing + +Предлагайте свои пулл реквесты, проект с открытым исходным кодом. + + +%package -n python3-tinvest +Summary: Tinkoff Invest +Provides: python-tinvest +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-tinvest +# T-Invest + +[![Build Status](https://api.travis-ci.com/daxartio/tinvest.svg?branch=master)](https://travis-ci.com/daxartio/tinvest) +[![PyPI](https://img.shields.io/pypi/v/tinvest)](https://pypi.org/project/tinvest/) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/tinvest)](https://www.python.org/downloads/) +[![Codecov](https://img.shields.io/codecov/c/github/daxartio/tinvest)](https://travis-ci.com/daxartio/tinvest) +[![GitHub last commit](https://img.shields.io/github/last-commit/daxartio/tinvest)](https://github.com/daxartio/tinvest) +[![Tinvest](https://img.shields.io/github/stars/daxartio/tinvest?style=social)](https://github.com/daxartio/tinvest) + +``` +pip install tinvest +``` + +Данный проект представляет собой инструментарий на языке Python для работы с OpenAPI Тинькофф Инвестиции, который можно использовать для создания торговых роботов. + +Клиент предоставляет синхронный и асинхронный API для взаимодействия с Тинькофф Инвестиции. + +Есть возможность делать запросы через командную строку, подробнее [тут](https://daxartio.github.io/tinvest/cli/). + +``` +pip install tinvest[cli] + +# Пример использования +tinvest openapi --token TOKEN portfolio +``` + +Performance + +``` +pip install tinvest[uvloop] +pip install tinvest[orjson] +``` + +[orjson](https://github.com/ijl/orjson) +[uvloop](https://github.com/MagicStack/uvloop) + + +## Начало работы + +### Где взять токен аутентификации? + +В разделе инвестиций вашего [личного кабинета tinkoff](https://www.tinkoff.ru/invest/). Далее: + +* Перейдите в настройки +* Проверьте, что функция "Подтверждение сделок кодом" отключена +* Выпустите токен для торговли на бирже и режима "песочницы" (sandbox) +* Скопируйте токен и сохраните, токен отображается только один раз, просмотреть его позже не получится, тем не менее вы можете выпускать неограниченное количество токенов + +## Документация + +[tinvest](https://daxartio.github.io/tinvest/) + +[invest-openapi](https://tinkoffcreditsystems.github.io/invest-openapi/) + +### Быстрый старт + +Для непосредственного взаимодействия с OpenAPI нужно создать клиента. Клиенты разделены на streaming и rest. + +Примеры использования SDK находятся [ниже](#Примеры). + +### У меня есть вопрос + +[Основной репозиторий с документацией](https://github.com/TinkoffCreditSystems/invest-openapi/) — в нем вы можете задать вопрос в Issues и получать информацию о релизах в Releases. +Если возникают вопросы по данному SDK, нашёлся баг или есть предложения по улучшению, то можно задать его в Issues. + +## Примеры + +Для работы с данным пакетом вам нужно изучить [OpenAPI Тинькофф Инвестиции](https://tinkoffcreditsystems.github.io/invest-openapi/swagger-ui/) + +### Streaming + +Предоставляет асинхронный интерфейс. + +> При сетевых сбоях будет произведена попытка переподключения. + +```python +import asyncio +import tinvest as ti + + +async def main(): + async with ti.Streaming('TOKEN') as streaming: + await streaming.candle.subscribe('BBG0013HGFT4', ti.CandleResolution.min1) + await streaming.orderbook.subscribe('BBG0013HGFT4', 5) + await streaming.instrument_info.subscribe('BBG0013HGFT4') + async for event in streaming: + print(event) + + +asyncio.run(main()) +``` + +### Синхронный REST API Client + +Для выполнения синхронных http запросов используется библиотека `requests`. +С описанием клиентов можно ознакомиться по этой [ссылке](https://daxartio.github.io/tinvest/tinvest/clients/). + +```python +import tinvest + +TOKEN = "" + +client = tinvest.SyncClient(TOKEN) + +response = client.get_portfolio() # tinvest.PortfolioResponse +print(response.payload) +``` + +```python +# Handle error +... +client = tinvest.SyncClient(TOKEN) + +try: + response = client.get_operations("", "") +except tinvest.BadRequestError as e: + print(e.response) # tinvest.Error +``` + +### Асинхронный REST API Client + +Для выполнения асинхронных http запросов используется библиотека `aiohttp`. +Клиенты имеют такой же интерфейс как в синхронной реализации, за исключением того, +что функции возвращают объект корутина. + +```python +import asyncio +import tinvest + +TOKEN = "" + + +async def main(): + client = tinvest.AsyncClient(TOKEN) + response = await client.get_portfolio() # tinvest.PortfolioResponse + print(response.payload) + + await client.close() + +asyncio.run(main()) +``` + +### Sandbox + +Sandbox позволяет вам попробовать свои торговые стратегии, при этом не тратя реальные средства. Протокол взаимодействия полностью совпадает с Production окружением. + +```python +client = tinvest.AsyncClient(SANDBOX_TOKEN, use_sandbox=True) +# client = tinvest.SyncClient(SANDBOX_TOKEN, use_sandbox=True) +``` + +## Environments + +| name | required | default | +|-----------------------|:--------:|--------:| +| TINVEST_TOKEN | optional | '' | +| TINVEST_SANDBOX_TOKEN | optional | '' | +| TINVEST_USE_ORJSON | optional | True | +| TINVEST_USE_UVLOOP | optional | True | + +## Contributing + +Предлагайте свои пулл реквесты, проект с открытым исходным кодом. + + +%package help +Summary: Development documents and examples for tinvest +Provides: python3-tinvest-doc +%description help +# T-Invest + +[![Build Status](https://api.travis-ci.com/daxartio/tinvest.svg?branch=master)](https://travis-ci.com/daxartio/tinvest) +[![PyPI](https://img.shields.io/pypi/v/tinvest)](https://pypi.org/project/tinvest/) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/tinvest)](https://www.python.org/downloads/) +[![Codecov](https://img.shields.io/codecov/c/github/daxartio/tinvest)](https://travis-ci.com/daxartio/tinvest) +[![GitHub last commit](https://img.shields.io/github/last-commit/daxartio/tinvest)](https://github.com/daxartio/tinvest) +[![Tinvest](https://img.shields.io/github/stars/daxartio/tinvest?style=social)](https://github.com/daxartio/tinvest) + +``` +pip install tinvest +``` + +Данный проект представляет собой инструментарий на языке Python для работы с OpenAPI Тинькофф Инвестиции, который можно использовать для создания торговых роботов. + +Клиент предоставляет синхронный и асинхронный API для взаимодействия с Тинькофф Инвестиции. + +Есть возможность делать запросы через командную строку, подробнее [тут](https://daxartio.github.io/tinvest/cli/). + +``` +pip install tinvest[cli] + +# Пример использования +tinvest openapi --token TOKEN portfolio +``` + +Performance + +``` +pip install tinvest[uvloop] +pip install tinvest[orjson] +``` + +[orjson](https://github.com/ijl/orjson) +[uvloop](https://github.com/MagicStack/uvloop) + + +## Начало работы + +### Где взять токен аутентификации? + +В разделе инвестиций вашего [личного кабинета tinkoff](https://www.tinkoff.ru/invest/). Далее: + +* Перейдите в настройки +* Проверьте, что функция "Подтверждение сделок кодом" отключена +* Выпустите токен для торговли на бирже и режима "песочницы" (sandbox) +* Скопируйте токен и сохраните, токен отображается только один раз, просмотреть его позже не получится, тем не менее вы можете выпускать неограниченное количество токенов + +## Документация + +[tinvest](https://daxartio.github.io/tinvest/) + +[invest-openapi](https://tinkoffcreditsystems.github.io/invest-openapi/) + +### Быстрый старт + +Для непосредственного взаимодействия с OpenAPI нужно создать клиента. Клиенты разделены на streaming и rest. + +Примеры использования SDK находятся [ниже](#Примеры). + +### У меня есть вопрос + +[Основной репозиторий с документацией](https://github.com/TinkoffCreditSystems/invest-openapi/) — в нем вы можете задать вопрос в Issues и получать информацию о релизах в Releases. +Если возникают вопросы по данному SDK, нашёлся баг или есть предложения по улучшению, то можно задать его в Issues. + +## Примеры + +Для работы с данным пакетом вам нужно изучить [OpenAPI Тинькофф Инвестиции](https://tinkoffcreditsystems.github.io/invest-openapi/swagger-ui/) + +### Streaming + +Предоставляет асинхронный интерфейс. + +> При сетевых сбоях будет произведена попытка переподключения. + +```python +import asyncio +import tinvest as ti + + +async def main(): + async with ti.Streaming('TOKEN') as streaming: + await streaming.candle.subscribe('BBG0013HGFT4', ti.CandleResolution.min1) + await streaming.orderbook.subscribe('BBG0013HGFT4', 5) + await streaming.instrument_info.subscribe('BBG0013HGFT4') + async for event in streaming: + print(event) + + +asyncio.run(main()) +``` + +### Синхронный REST API Client + +Для выполнения синхронных http запросов используется библиотека `requests`. +С описанием клиентов можно ознакомиться по этой [ссылке](https://daxartio.github.io/tinvest/tinvest/clients/). + +```python +import tinvest + +TOKEN = "" + +client = tinvest.SyncClient(TOKEN) + +response = client.get_portfolio() # tinvest.PortfolioResponse +print(response.payload) +``` + +```python +# Handle error +... +client = tinvest.SyncClient(TOKEN) + +try: + response = client.get_operations("", "") +except tinvest.BadRequestError as e: + print(e.response) # tinvest.Error +``` + +### Асинхронный REST API Client + +Для выполнения асинхронных http запросов используется библиотека `aiohttp`. +Клиенты имеют такой же интерфейс как в синхронной реализации, за исключением того, +что функции возвращают объект корутина. + +```python +import asyncio +import tinvest + +TOKEN = "" + + +async def main(): + client = tinvest.AsyncClient(TOKEN) + response = await client.get_portfolio() # tinvest.PortfolioResponse + print(response.payload) + + await client.close() + +asyncio.run(main()) +``` + +### Sandbox + +Sandbox позволяет вам попробовать свои торговые стратегии, при этом не тратя реальные средства. Протокол взаимодействия полностью совпадает с Production окружением. + +```python +client = tinvest.AsyncClient(SANDBOX_TOKEN, use_sandbox=True) +# client = tinvest.SyncClient(SANDBOX_TOKEN, use_sandbox=True) +``` + +## Environments + +| name | required | default | +|-----------------------|:--------:|--------:| +| TINVEST_TOKEN | optional | '' | +| TINVEST_SANDBOX_TOKEN | optional | '' | +| TINVEST_USE_ORJSON | optional | True | +| TINVEST_USE_UVLOOP | optional | True | + +## Contributing + +Предлагайте свои пулл реквесты, проект с открытым исходным кодом. + + +%prep +%autosetup -n tinvest-3.0.5 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-tinvest -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu May 18 2023 Python_Bot - 3.0.5-1 +- Package Spec generated -- cgit v1.2.3