# Tinkoff Invest
[](https://pypi.org/project/tinkoff-investments/)
[](https://www.python.org/downloads/)


Данный репозиторий предоставляет клиент для взаимодействия с торговой платформой [Тинькофф Инвестиции](https://www.tinkoff.ru/invest/) на языке Python.
- [Документация](https://RussianInvestments.github.io/invest-python/)
- [Документация по Invest API](https://RussianInvestments.github.io/investAPI/)
## Начало работы
<!-- termynal -->
```
$ pip install tinkoff-investments
```
## Возможности
- ☑ Синхронный и асинхронный GRPC клиент
- ☑ Возможность отменить все заявки
- ☑ Выгрузка истории котировок "от" и "до"
- ☑ Кеширование данных
- ☑ Торговая стратегия
## Как пользоваться
### Получить список аккаунтов
```python
from tinkoff.invest import Client
TOKEN = 'token'
with Client(TOKEN) as client:
print(client.users.get_accounts())
```
### Переопределить target
В Tinkoff Invest API есть два контура - "боевой", предназначенный для исполнения ордеров на бирже и "песочница", предназначенный для тестирования API и торговых гипотез, заявки с которого не выводятся на биржу, а исполняются в эмуляторе.
Переключение между контурами реализовано через target, INVEST_GRPC_API - "боевой", INVEST_GRPC_API_SANDBOX - "песочница"
```python
from tinkoff.invest import Client
from tinkoff.invest.constants import INVEST_GRPC_API
TOKEN = 'token'
with Client(TOKEN, target=INVEST_GRPC_API) as client:
print(client.users.get_accounts())
```
> :warning: **Не публикуйте токены в общедоступные репозитории**
<br/>
Остальные примеры доступны в [examples](https://github.com/RussianInvestments/invest-python/tree/main/examples).
## Contribution
Для тех, кто хочет внести свои изменения в проект.
- [CONTRIBUTING](https://github.com/RussianInvestments/invest-python/blob/main/CONTRIBUTING.md)
## License
Лицензия [The Apache License](https://github.com/RussianInvestments/invest-python/blob/main/LICENSE).
Raw data
{
"_id": null,
"home_page": "https://github.com/RussianInvestments/invest-python",
"name": "tinkoff-investments",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0.0,>=3.8.1",
"maintainer_email": null,
"keywords": null,
"author": "Tinkoff Team",
"author_email": "python@tinkoff.ru",
"download_url": "https://files.pythonhosted.org/packages/90/8e/8b00564a0ac6e25cf38f65489830e187318e685810c125706f94dd80e3fe/tinkoff_investments-0.2.0b109.tar.gz",
"platform": null,
"description": "# Tinkoff Invest\n\n[](https://pypi.org/project/tinkoff-investments/)\n[](https://www.python.org/downloads/)\n\n\n\n\u0414\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u0442\u043e\u0440\u0433\u043e\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439 [\u0422\u0438\u043d\u044c\u043a\u043e\u0444\u0444 \u0418\u043d\u0432\u0435\u0441\u0442\u0438\u0446\u0438\u0438](https://www.tinkoff.ru/invest/) \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Python.\n\n- [\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f](https://RussianInvestments.github.io/invest-python/)\n- [\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e Invest API](https://RussianInvestments.github.io/investAPI/)\n\n## \u041d\u0430\u0447\u0430\u043b\u043e \u0440\u0430\u0431\u043e\u0442\u044b\n\n<!-- termynal -->\n\n```\n$ pip install tinkoff-investments\n```\n\n## \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438\n\n- ☑ \u0421\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u0438 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 GRPC \u043a\u043b\u0438\u0435\u043d\u0442\n- ☑ \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u0437\u0430\u044f\u0432\u043a\u0438\n- ☑ \u0412\u044b\u0433\u0440\u0443\u0437\u043a\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043a\u043e\u0442\u0438\u0440\u043e\u0432\u043e\u043a \"\u043e\u0442\" \u0438 \"\u0434\u043e\"\n- ☑ \u041a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445\n- ☑ \u0422\u043e\u0440\u0433\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f\n\n## \u041a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f\n\n### \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432\n\n```python\nfrom tinkoff.invest import Client\n\nTOKEN = 'token'\n\nwith Client(TOKEN) as client:\n print(client.users.get_accounts())\n```\n\n### \u041f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c target\n\n\u0412 Tinkoff Invest API \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u043a\u043e\u043d\u0442\u0443\u0440\u0430 - \"\u0431\u043e\u0435\u0432\u043e\u0439\", \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043e\u0440\u0434\u0435\u0440\u043e\u0432 \u043d\u0430 \u0431\u0438\u0440\u0436\u0435 \u0438 \"\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0430\", \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f API \u0438 \u0442\u043e\u0440\u0433\u043e\u0432\u044b\u0445 \u0433\u0438\u043f\u043e\u0442\u0435\u0437, \u0437\u0430\u044f\u0432\u043a\u0438 \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435 \u0432\u044b\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0430 \u0431\u0438\u0440\u0436\u0443, \u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0435.\n\n\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u043d\u0442\u0443\u0440\u0430\u043c\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0447\u0435\u0440\u0435\u0437 target, INVEST_GRPC_API - \"\u0431\u043e\u0435\u0432\u043e\u0439\", INVEST_GRPC_API_SANDBOX - \"\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0430\"\n\n```python\nfrom tinkoff.invest import Client\nfrom tinkoff.invest.constants import INVEST_GRPC_API\n\nTOKEN = 'token'\n\nwith Client(TOKEN, target=INVEST_GRPC_API) as client:\n print(client.users.get_accounts())\n```\n\n> :warning: **\u041d\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0439\u0442\u0435 \u0442\u043e\u043a\u0435\u043d\u044b \u0432 \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438**\n<br/>\n\n\u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0432 [examples](https://github.com/RussianInvestments/invest-python/tree/main/examples).\n\n## Contribution\n\n\u0414\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0445\u043e\u0447\u0435\u0442 \u0432\u043d\u0435\u0441\u0442\u0438 \u0441\u0432\u043e\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442.\n\n- [CONTRIBUTING](https://github.com/RussianInvestments/invest-python/blob/main/CONTRIBUTING.md)\n\n## License\n\n\u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f [The Apache License](https://github.com/RussianInvestments/invest-python/blob/main/LICENSE).\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Tinkoff Python SDK",
"version": "0.2.0b109",
"project_urls": {
"Homepage": "https://github.com/RussianInvestments/invest-python",
"Repository": "https://github.com/RussianInvestments/invest-python"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2b83ef391dc505b8b59523b528ae34ecdae3c4bdbac62a46a8a49b52cb2f3033",
"md5": "76eaac7ce2470798237114671cc106f5",
"sha256": "b4aa3c52c4968be75540240f7c0fcf1865bb85e18459f75e0843ef54eaa62424"
},
"downloads": -1,
"filename": "tinkoff_investments-0.2.0b109-py3-none-any.whl",
"has_sig": false,
"md5_digest": "76eaac7ce2470798237114671cc106f5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0.0,>=3.8.1",
"size": 229291,
"upload_time": "2024-12-18T14:47:09",
"upload_time_iso_8601": "2024-12-18T14:47:09.325227Z",
"url": "https://files.pythonhosted.org/packages/2b/83/ef391dc505b8b59523b528ae34ecdae3c4bdbac62a46a8a49b52cb2f3033/tinkoff_investments-0.2.0b109-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "908e8b00564a0ac6e25cf38f65489830e187318e685810c125706f94dd80e3fe",
"md5": "c5dcbbd03297d8c881dc1a51c6652bba",
"sha256": "cde2f9333c823e2dd89158f3caf2f7589e446b10c0a7b76f173fb4d77827a61f"
},
"downloads": -1,
"filename": "tinkoff_investments-0.2.0b109.tar.gz",
"has_sig": false,
"md5_digest": "c5dcbbd03297d8c881dc1a51c6652bba",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0.0,>=3.8.1",
"size": 197424,
"upload_time": "2024-12-18T14:47:11",
"upload_time_iso_8601": "2024-12-18T14:47:11.594526Z",
"url": "https://files.pythonhosted.org/packages/90/8e/8b00564a0ac6e25cf38f65489830e187318e685810c125706f94dd80e3fe/tinkoff_investments-0.2.0b109.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-18 14:47:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "RussianInvestments",
"github_project": "invest-python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "tinkoff-investments"
}