FinamTradeApiPy
FinamTradeApiPy — это Python-библиотека для лёгкого взаимодействия с публичным торговым API Finam. Библиотека только предоставляет удобную обертку для доступа к API и не несет ответственность за полученные и отправленные через нее данные.
Асинхронный REST-клиент для API Finam.
Используется:
- aiohttp для создания клиента;
- pydantic для удобной работы с моделями данных;
- ruff для линтинга;
- mypy для статической типизации;
- pytest для тестирования;
- bandit для статического анализа безопасности;
- pre-commit для автоматизации линтинга и тестирования;
Requirements
Python >= 3.11; < 3.14 - проверки в CI.
Installation
pip install finam-trade-api
poetry add finam-trade-api
uv add finam-trade-api
Usage/Examples
Получение токена
import os
from finam_trade_api import Client
from finam_trade_api import TokenManager
async def main():
# Получение токена из переменных окружения
token = os.getenv("TOKEN")
# Инициализация клиента с менеджером токенов
client = Client(TokenManager(token))
# Установка JWT-токена
await client.access_tokens.set_jwt_token()
# Получение деталей JWT-токена
return await client.access_tokens.get_jwt_token_details()
if __name__ == "__main__":
import asyncio
# Запуск асинхронного main
print(asyncio.run(main()))
Информация об аккаунте
import os
from pprint import pprint
from finam_trade_api import Client
from finam_trade_api import TokenManager
from finam_trade_api.account import GetTransactionsRequest, GetTradesRequest
token = os.getenv("TOKEN")
account_id = os.getenv("ACCOUNT_ID")
async def main():
client = Client(TokenManager(token))
await client.access_tokens.set_jwt_token()
# Получение информации об аккаунте
pprint(await client.account.get_account_info(account_id))
# Получение списка транзакций
pprint(await client.account.get_transactions(GetTransactionsRequest(
account_id=account_id,
start_time="2024-01-01T00:00:00Z",
end_time="2025-03-15T00:00:00Z",
limit=10,
)))
# Получение списка сделок
pprint(await client.account.get_trades(GetTradesRequest(
account_id=account_id,
start_time="2024-01-01T00:00:00Z",
end_time="2025-03-15T00:00:00Z",
)))
if __name__ == "__main__":
import asyncio
asyncio.run(main())
Больше примеров в папке examples
Authors
License
Release files for finam-trade-api 4.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| finam_trade_api-4.4.0.tar.gz | 27.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| finam_trade_api-4.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 65.1 kB
Release files / finam_trade_api-4.4.0.tar.gz
| Download URL | finam_trade_api-4.4.0.tar.gz |
|---|---|
| Size | 27.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8bb572692cfee26e1febf8a220f0de52e2adbd93da858abb974015764988feb9
|
|
BLAKE2b-256 checksum How to use checksums |
f126364a623b3680df897b92688386fc91217d03b2d1b08109d30e88cc2fd1a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.12.3 Linux/6.14.0-37-generic
|
Release files / finam_trade_api-4.4.0-py3-none-any.whl
| Download URL | finam_trade_api-4.4.0-py3-none-any.whl |
|---|---|
| Size | 37.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
162219f459367917cdbd58472b2daf6ec2c53df61fb371cfea837de54a09c1a1
|
|
BLAKE2b-256 checksum How to use checksums |
607b86c5bc9d9daaeaf9fd11c5aef9ed4fa55addf93fad8a9569e3ef2b09c1d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.12.3 Linux/6.14.0-37-generic
|