Skip to main content

FIX protocol testing engine built on mkio and mkui

Project description

mkfix

A FIX protocol testing engine for capital markets connectivity, built on mkio and mkui.

Features

  • 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.

Installation

pip install mkfix

Or from source:

git clone https://github.com/markuskimius/mkfix.git
cd mkfix
pip install -e .

Usage

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 file

Then open http://localhost:8080 in your browser.

Quick Start

  1. Create two sessions in the Session Manager -- one initiator pointing at the other as acceptor on the same port.
  2. Start both sessions -- Logon and Heartbeat messages will stream in the Raw Messages pane.
  3. Send an order from the Order Pad -- see it in Raw Messages, Translated Messages, and the Order Blotter.
  4. Replay a log from Tools > Replay Control -- load a production FIX log and replay it into a test session.

Configuration

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.

Dependencies

  • mkio >= 0.1.36 -- async microservice framework (aiohttp + aiosqlite)
  • mkui >= 0.1.10 -- Web Components UI framework

License

GPL-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mkfix-0.1.0.tar.gz (63.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mkfix-0.1.0-py3-none-any.whl (68.4 kB view details)

Uploaded Python 3

File details

Details for the file mkfix-0.1.0.tar.gz.

File metadata

  • Download URL: mkfix-0.1.0.tar.gz
  • Upload date:
  • Size: 63.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mkfix-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0edeb1e82d8f87390d956a0295d36de1ea0110e3e63dd9e492332b5162055ac6
MD5 e3585479b6597ad5d4c049d98b7c3b57
BLAKE2b-256 1734228856e88d53e57d608ca418260380346452f2e7adcf34edaa981aa60ab2

See more details on using hashes here.

File details

Details for the file mkfix-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mkfix-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 68.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mkfix-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b0212009800f0d25e7814094739e77298144150694d6e1b11155723aea38a632
MD5 04c086a08969f0ece2f0444f5bacb095
BLAKE2b-256 6299794f86038e0b76ff07a69c44d481703ff1dfc7cd615719c6c69c91d6487c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page