A FIX protocol testing engine for capital markets connectivity, built on mkio and mkui.
- Session Management -- Configure and run FIX sessions as initiator or acceptor. Multiple sessions on the same port with different CompIDs.
- Raw Message Viewer -- Real-time stream of FIX messages in tag=value format with filtering by session, direction, and category.
- Translated Message Viewer -- Human-readable view with field names, enum translations, and expandable detail rows.
- Order Pad -- Send NewOrderSingle, Cancel, and Cancel/Replace requests.
- Order & Trade Blotters -- Live order state machine driven by ExecutionReports; fill and partial fill records.
- Message Replay -- Load production FIX logs and replay them into a test session with speed control, message filtering, and pause/resume.
- IOI & Allocation Viewers -- Indications of Interest and Allocation message tracking.
- Session Protocol -- Logon, Logout, Heartbeat, TestRequest, ResendRequest, SequenceReset, GapFill, PossDupFlag handling, and heartbeat timeout detection.
pip install mkfixOr from source:
git clone https://github.com/markuskimius/mkfix.git
cd mkfix
pip install -e .mkfix # start with defaults (port 8080, mkfix.db)
mkfix -p 9090 # override port
mkfix -d mytest # use mytest.db
mkfix -d :memory: # in-memory database
mkfix myconfig.toml # custom config fileThen open http://localhost:8080 in your browser.
- Create two sessions in the Session Manager -- one initiator pointing at the other as acceptor on the same port.
- Start both sessions -- Logon and Heartbeat messages will stream in the Raw Messages pane.
- Send an order from the Order Pad -- see it in Raw Messages, Translated Messages, and the Order Blotter.
- Replay a log from Tools > Replay Control -- load a production FIX log and replay it into a test session.
mkfix uses a TOML config file (mkfix.toml). The built-in default is used when
no config is specified. Key settings:
port = 8080
host = "0.0.0.0"
db_path = "mkfix.db"Tables, services, and static routes are also configured in the TOML file. See
the built-in mkfix.toml for the full schema.
- mkio >= 0.1.36 -- async microservice framework (aiohttp + aiosqlite)
- mkui >= 0.1.10 -- Web Components UI framework
GPL-2.0