# brokapi для Python > Пакет brokapi для Python (pip install brokapi, Python 3.10+) - тонкая обертка над ядром brokapi на Rust: БКС, Т-Банк, Финам, АЛОР, Bybit. События через async for, деньги и цены через decimal.Decimal, ошибки с теми же именами и текстом, что у ядра (Unknown, Rejected, RateLimited, NotReconciled, Degraded). Стадия: открытая альфа. Bybit проверен вживую, БКС, Т-Банк, Финам и АЛОР только на имитациях: для боевого счета сначала прочитайте before-live.md и agents/unverified.md. Ставится с PyPI: pip install brokapi. Самая свежая версия - из репозитория (pip install "git+https://github.com/runinfra/brokapi#subdirectory=crates/python", нужен Rust). Документация: https://brokapi.ru/docs/ Как писать код. 1) Прочитайте "Контракт для агентов": обязательные правила одни для любого языка (торговля только после reconcile, cid придумывает бот и пишет в журнал до place, Unknown не повторять, один счетчик лимитов на область брокера: limiter=, цены только Decimal). 2) Возьмите ближайшую инструкцию из раздела Python и копируйте код: каждый пример - тест против имитаций brokapi.testing. 3) Сигнатуры и поля - в python/api-reference.md. Возможности те же, что у Rust: стоп-заявки, raw() и запись событий в файл (brokapi.record). Сеть и деньги в тестах не трогайте: mock_bcs(), mock_tbank(), mock_finam(), mock_alor(). ## Python - [brokapi для Python](https://brokapi.ru/docs/python/index.md): Раздел Python (работает, альфа): как поставить пакет, таблица инструкций, что умеет первая версия, чего нет - [Быстрый старт на Python](https://brokapi.ru/docs/python/quickstart.md): Python: от нуля до первой заявки: имитация без токена и денег (mock_tbank), песочница Т-Банка, потом боевой счет (БКС, Т-Банк, Финам, АЛОР, Bybit): connect, чтение, reconcile, place, cancel, close - [Если вы пришли с tinkoff-investments](https://brokapi.ru/docs/python/from-tinkoff-investments.md): Python: переезд с tinkoff-investments: таблица соответствий (лоты и штуки, uid, cid, один поток событий, обязательный reconcile, Quotation и Decimal, стоп-заявки), абзац про QUIK - [Торговый бот на событиях, Python](https://brokapi.ru/docs/python/howto-trading-bot.md): Python: как написать торгового бота на событиях: журнал, сверка, исходы place, Unknown, Overflow, остановка - [Несколько брокеров и счетов, Python](https://brokapi.ru/docs/python/howto-infrastructure.md): Python: несколько брокеров и счетов в одном процессе: общий limiter, merge событий, журнал в файле, рестарт со сверкой - [История свечей](https://brokapi.ru/docs/python/howto-history.md): Python: выгрузка длинной истории свечей в файлы по лимитам брокера с продолжением после сбоя (candle_pages) - [Стоп-заявки, Python](https://brokapi.ru/docs/python/stop-orders.md): Python: стоп-заявки (place_stop, cancel_stop, active_stop_orders), потерянный ответ Unknown, рецепт «бот со стопом: старт и рестарт», различия брокеров - [Любой метод брокера, Python](https://brokapi.ru/docs/python/raw.md): Python: любой метод API брокера через client.raw(имя, словарь): Т-Банк и Финам по имени из .proto, БКС по таблице или пути, квота, command=True, чего raw не делает - [Запись событий и проигрыш, Python](https://brokapi.ru/docs/python/record.md): Python: запись потока событий в файл и проигрыш (brokapi.record: EnvelopeWriter, EnvelopeReader, replay, LogError), формат файла как у Rust - [Тесты против имитаций, Python](https://brokapi.ru/docs/python/testing.md): Python: тесты против имитаций brokapi.testing (mock_bcs, mock_tbank, mock_finam, mock_alor), fill, ожидание событий без sleep - [Как Python связан с ядром](https://brokapi.ru/docs/python/design.md): Объяснение: как пакет Python связан с ядром, мост tokio и asyncio, Decimal, ошибки, отличия от Rust ## Общее, что верно и для Python - [Установка](https://brokapi.ru/docs/install.md): Установка: cargo add brokapi и pip install brokapi, самая свежая версия из репозитория, проверка и частые ошибки - [Контракт для агентов](https://brokapi.ru/docs/agent-contract.md): Контракт для агентов: обязательные правила с причинами, последствиями и кодом, частые ошибки - [Аварийная остановка бота](https://brokapi.ru/docs/emergency-stop.md): Аварийная остановка бота: что делает close(), что делает brokapi cancel-all (снимает и защитные стопы), как снять только заявки бота и оставить позицию защищенной - [Карта: сущности и три круга](https://brokapi.ru/docs/architecture.md): Карта: коннекторы MD и UD, счетчик лимитов, канал событий и три круга механики со схемами - [Круг событий: подписки, буферы, обрывы](https://brokapi.ru/docs/streams.md): Круг событий: подписки, режимы буфера (Conflate, DropNewest, Lossless), Overflow, Resync, обрывы - [Круг команд: заявки](https://brokapi.ru/docs/orders.md): Круг команд: cid, порядок проверок place, исходы команды, почему нет автоповтора, машина состояний заявки - [Круг жизни: шлюз и сверка](https://brokapi.ru/docs/reconcile.md): Круг жизни: шлюз торговых команд и сверка reconcile, три списка отчета, что хранит бот - [Лимиты запросов](https://brokapi.ru/docs/limits.md): Лимиты запросов: BrokerLimiter, ведра, RateLimited, почему отмена в отдельном ведре - [Деньги, цены и количества](https://brokapi.ru/docs/numbers.md): Price, Qty, Money на Decimal, округление до шага цены, PriceGrid, перевод форматов брокеров - [Ошибки и что с ними делать](https://brokapi.ru/docs/errors.md): Ошибки и состояния: что значат, почему бывают, что делать (Unknown, Rejected, RateLimited, Degraded...) - [События и возможности](https://brokapi.ru/docs/events.md): Конверт Envelope, события Event, возможности коннекторов caps() - [Брокеры](https://brokapi.ru/docs/brokers/README.md): Сравнение брокеров: идентификаторы инструментов, единицы, особенности - [БКС](https://brokapi.ru/docs/brokers/bcs.md): БКС: токены, идентификаторы, единицы количества, ограничения - [Т-Банк](https://brokapi.ru/docs/brokers/tbank.md): Т-Банк: песочница, счета, лоты, uid инструмента, ограничения - [Финам](https://brokapi.ru/docs/brokers/finam.md): Финам: секрет и JWT, где взять секрет и счет, первый день без песочницы, символ SBER@MISX, количество в штуках, нет replace - [АЛОР](https://brokapi.ru/docs/brokers/alor.md): АЛОР: refresh-токен, портфель и биржа, тикер и режим торгов, лоты и штуки, X-REQID и cid, нет расписания - [Bybit](https://brokapi.ru/docs/brokers/bybit.md): Bybit: подключение к API: ключ и секрет, демо-счет, категория linear (спота нет), BTCUSDT@linear, количество в базовой монете, нет replace, стоп-заявки, что проверено вживую и что нет - [Покрытие API](https://brokapi.ru/docs/coverage.md): Какие методы API каждого брокера закрыты общим интерфейсом, а какие только через raw() - [Перед боевым счетом](https://brokapi.ru/docs/before-live.md): Перед боевым счетом: правило 0 (токен и первая боевая заявка только от человека), с чего начать на настоящем счете, песочницы, первая заявка - [Изменения](https://brokapi.ru/docs/changelog.md): Журнал изменений по выпускам, в том числе программа brokapi (Gateway) ## Для агентов - [Допущения по документации брокеров](https://brokapi.ru/docs/agents/unverified.md): Допущения по документации брокеров, которые не проверены на настоящих счетах, и как подстраховаться в коде (для боевого счета) ## Справочник API Python (английский) - [python/api-reference.md](https://brokapi.ru/docs/python/api-reference.md): справочник одним markdown-файлом: сигнатуры и описания - [brokapi (HTML)](https://brokapi.ru/docs/api/python/brokapi.html): тот же справочник страницами (pdoc) ## Optional - [llms.txt](https://brokapi.ru/docs/llms.txt): индекс всей книги, включая Rust - [llms-full.txt](https://brokapi.ru/docs/llms-full.txt): вся книга одним markdown-файлом