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
fix_parse_log
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
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:
- create a hyperlink to FIX specs for each tag based on FIX version :white_check_mark:
- add more info to README.md. Use rule80A and 47 as example for fix_args :white_check_mark:
- add more example(s)
- add some pytest to detect the FIX version for example :white_check_mark:
- add "direction" to columns to show whether it's a request or a response
- catch exceptions and display them on the webpage
- deploy to https://vercel.com/
- allow creating an ASCII table equivalent suitable to be cut-n-paste into a document for example
- add a short link ala tinyurl and save it into a sqlite3 db store :white_check_mark:
- black theme?
- allow to have no leading timestamp and use the timestamp FIX tags instead :white_check_mark:
- add proper Logger
- add DB stats
- pypi.org can't display the ASCII screencast images. Need to reference GitHub's full path?
- Give the option to remove or hide/obfuscate some sensitive fields such as tag55 or senderCompId/targetComPid :white_check_mark:
- Show the delta between each timestamp (below each timestamp) :white_check_mark:
- Transpose the grid/matrix :white_check_mark:
- Shift-Enter = pressing on [Parse FIX] button :white_check_mark:
- Support FIX Repeating Groups :white_check_mark:
- When using fix_parse_log.py, also upload the same data to the webfix app to generate a tiny URL :white_check_mark:
Project details
Release history Release notifications | RSS feed
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.30.tar.gz
(2.6 MB
view hashes)
Built Distribution
Close
Hashes for fixations-0.2.30-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92357355c12d42a5e23dbe72ab0d5de1ec61e5b18d20bdfb85c256804cbb4376 |
|
MD5 | bf358eeac5132fc0c73aae988c86f122 |
|
BLAKE2b-256 | 34d42ede232fb119023e6b4e3a4402cedf5dcce5274786cce259e10ce0e4e920 |