Skip to content
This repository has been archived by the owner on Sep 5, 2023. It is now read-only.

morganstanley/pyfixmsg

Pyfixmsg

Lifecycle Archived

pyfixmsgis a library for parsing, manipulating and serialising FIX messages, primarily geared towards testing. The library supports both Python 2 and 3.

Objectives

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

Dependencies

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

Core classes

  • FixMessage. Inherits from dict. Workhorse class. By default comes with a codec that will parse standard-looking FIX, but without support repeating groups.
  • Codec defines how to parse a buffer into a FixMessage, and how to serialise it back
  • Spec defines the FIX specification to follow. Only required for support of repeating group. Defined from Quickfix's spec XML files.

How to run the tests

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

Notes

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.

More documentation

Read the documentation, or browse the examples file for many examples

About

pyfixmsg is a library for parsing, manipulating and serialising FIX messages, primarily geared towards testing.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages