%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