async_rithmic

async_rithmic is an asynchronous Python client for connecting to Rithmic’s Protocol Buffer API using asyncio.

Rithmic’s API is structured around four separate WebSocket endpoints (called plants), each responsible for a different category of functionality:

  • TICKER_PLANT - live market data

  • ORDER_PLANT - order routing and updates

  • HISTORY_PLANT - historical data

  • PNL PLANT - account pnl updates

Each plant runs over its own dedicated WebSocket connection, with separate login and heartbeat management. The async_rithmic library mirrors this architecture by creating a separate asynchronous connection per plant.

Internally, the logic for these plants shares a common base but is executed concurrently using asyncio, allowing fast, event-driven processing of tick, order, and historical data as it arrives.

📦 GitHub: https://github.com/rundef/async_rithmic

Features

  • Native asyncio support

  • One client object manages all plant connections

  • Custom reconnection logic

  • Event hooks for lifecycle events (connected/disconnected, tick received, etc.)