Skip to main content

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 -- Live virtualized table of FIX messages in tag=value format, streaming live by default, with time-based paging, per-column filters, sorting, and clipboard copy.
  • Message Detail -- Field-by-field breakdown of the message selected in the Raw Message viewer, with field names and enum translations.
  • Order Pad -- Send NewOrderSingle, Cancel, and Cancel/Replace requests.
  • Order & Trade Blotters -- Live order state machine driven by ExecutionReports; fill and partial fill records. Cancel and Cancel/Replace working orders directly from the blotter.
  • 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 and the Order Blotter; click any message row to break it out field by field in Message Detail.
  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.65 -- async microservice framework (aiohttp + aiosqlite)
  • mkui >= 0.1.52 -- Web Components UI framework

License

GPL-2.0

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.3.1.tar.gz (69.0 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.3.1-py3-none-any.whl (65.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for mkfix-0.3.1.tar.gz
Algorithm Hash digest
SHA256 fac208de268611781ff79657045d9b35b80f3f8813c6bbe91d9b4be84492873b
MD5 4c39d1c963ce6b7f4cd60ea608c1f871
BLAKE2b-256 bc20a10dbad139101f7b59a4bac66f43a49c5a8ff1610d9e50207ecc1c380d6b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for mkfix-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fd4eb39e43c18b7a0a42607f05ce43d56d65b6f4bf3460ad00c8b1f225000517
MD5 69835a75d5839e01b626bbedea103f30
BLAKE2b-256 94e086f833c9d5353538eab5185d7de2094d591a244491a313a106ce811943d1

See more details on using hashes here.

Release history Release notifications | RSS feed

0.23.0

2 files

0.22.0

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

0.15.0

2 files

0.14.0

2 files

0.13.0

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.7.0

2 files

0.6.2

2 files

0.5.0

2 files

This release

0.3.1 This release

2 files

0.3.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page