pyfixmsg
is a library for parsing, manipulating and serialising FIX
messages, primarily geared towards testing. The library supports both Python 2 and 3.
- provide a rich API to compare and manipulate messages.
- (mostly) Message type agnostic,
- (mostly) value types agnostic
- pluggable : load specification XML files, custom specifications or build your own Specification class for repeating groups definitions and message types, define your own codec for custom serialisation or deserialisation quirks.
six
library (at least version 1.12.0).- Optional lxml for faster parsing of xml specification files.
- Optional pytest to run the tests.
- Optional spec files from quickfix to get started with standard FIX specifications.
FixMessage
. Inherits fromdict
. Workhorse class. By default comes with a codec that will parse standard-lookingFIX
, but without support repeating groups.Codec
defines how to parse a buffer into a FixMessage, and how to serialise it backSpec
defines theFIX
specification to follow. Only required for support of repeating group. Defined from Quickfix's spec XML files.
py.test --spec=/var/tmp/FIX50.xml
will launch the tests against the spec file in /var/tmp. You will need to load the spec files from quickfix to get the tests to work. The spec files are not included in this distribution.
This is only a FIX message library. It doesn't include a FIX session management system or an order management core, or anything similar. It is purely message parsing-manipulation-serialisation. It is however easy to integrate into an order management or a exchange/broker simulator, etc.
Read the documentation, or browse the examples file for many examples