Skip to main content

This is a set of tools to look up / visualize FIX protocol data

Project description

FIXations!

A set of tools to handle FIX protocol data

  • fix_tags - explore FIX tags and their associated values either as CLI output or a GUI-like textual interface
  • fix_parse_log - extract FIX lines from a (log) file and present them in a nicely formatted grid
  • webfix - present copy-n-paste'd FIX lines into a nicely formatted grid

Installation

pip3 install fixations

Examples of running these applications

fix_tags

Click on the link below since it was too small to asciicast in this page asciicast

fix_parse_log

fix_parse_log_demo

webfix

Webfix needs to be used with either Flask (for dev purposes)

$ python -m flask --app fixations.webfix run
 * Serving Flask app 'fixations.webfix'
 * Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. 
Use a production WSGI server instead.
 * Running on http://127.0.0.1:5000
Press CTRL+C to quit

or something like gunicorn (or other WSGI servers) for production uses:

$ gunicorn fixations.wsgi:app
[2023-01-16 19:55:31 -0500] [3380019] [INFO] Starting gunicorn 20.1.0
[2023-01-16 19:55:31 -0500] [3380019] [INFO] Listening at: http://127.0.0.1:8000 (3380019)
[2023-01-16 19:55:31 -0500] [3380019] [INFO] Using worker: sync
[2023-01-16 19:55:31 -0500] [3380028] [INFO] Booting worker with pid: 3380028

webfix_session

FIX reference data source

The data is extracted from the FIX specs available here:

https://www.fixtrading.org/packages/fix-repository-2010/ (see fix_repository_2010_edition_20200402.zip).

NOTE: it requires the creation of a login/password to access it.

TODO:

  1. create hyperlink to FIX specs for each tag based on FIX version
  2. [DONE] add more info to README.md. Use rule80A and 47 as example for fix_args
  3. add more example(s)
  4. add some pytest to detect the FIX version for example
  5. add "direction" to columns to show whether it's a request or a response
  6. catch exceptions and display them into the webpage
  7. deploy to https://vercel.com/
  8. allow to create an ASCII table equivalent suitable to be cut-n-paste into a document for exanple
  9. [DONE] add shortlink ala tinyurl and save it into a sqlite3 db store
  10. black theme?
  11. [DONE] allow to have no leading timestamp and use the timestamp FIX tags instead
  12. add proper Logger
  13. add DB stats
  14. pypi.org can't display the ASCII screencast images. Need to reference github full path?

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

fixations-0.2.11.tar.gz (2.6 MB view hashes)

Uploaded Source

Built Distribution

fixations-0.2.11-py3-none-any.whl (2.8 MB view hashes)

Uploaded Python 3

Supported by

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