fixations


Namefixations JSON
Version 0.2.36 PyPI version JSON
download
home_pagehttps://github.com/jeromegit/fixations
SummaryThis is a set of tools to look up / visualize FIX protocol data.
upload_time2024-01-28 18:34:42
maintainer
docs_urlNone
authorJerome Provensal
requires_python>=3.7
licenseGPL-3.0-or-later
keywords fix fix-protocol
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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](https://asciinema.org/a/551910.svg)](https://asciinema.org/a/551910?autoplay=1&t=2)

#### fix_parse_log
![fix_parse_log_demo](images/fix_parse_log_demo.gif)

#### webfix
Webfix needs to be used with either Flask (for dev purposes) 
```commandline
$ 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:
```commandline
$ 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](images/webfix_session.png)


## 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 a hyperlink to FIX specs for each tag based on FIX version :white_check_mark:
 2. add more info to README.md. Use rule80A and 47 as example for fix_args :white_check_mark:
 3. add more example(s)
 4. add some pytest to detect the FIX version for example :white_check_mark:
 5. add "direction" to columns to show whether it's a request or a response
 6. catch exceptions and display them on the webpage
 7. deploy to https://vercel.com/
 8. allow creating an ASCII table equivalent suitable to be cut-n-paste into a document for example
 9. add a short link ala tinyurl and save it into a sqlite3 db store :white_check_mark:
 10. black theme?
 11. allow to have no leading timestamp and use the timestamp FIX tags instead :white_check_mark:
 12. add proper Logger
 13. add DB stats
 14. pypi.org can't display the ASCII screencast images. Need to reference GitHub's full path?
 15. Give the option to remove or hide/obfuscate some sensitive fields such as tag55 or senderCompId/targetComPid :white_check_mark:
 16. Show the delta between each timestamp (below each timestamp) :white_check_mark:
 17. Transpose the grid/matrix :white_check_mark:
 18. Shift-Enter = pressing on [Parse FIX] button :white_check_mark:
 19. Support FIX Repeating Groups :white_check_mark:
 20. When using fix_parse_log.py, also upload the same data to the webfix app to generate a tiny URL :white_check_mark: 



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jeromegit/fixations",
    "name": "fixations",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "fix,fix-protocol",
    "author": "Jerome Provensal",
    "author_email": "jeromegit@provensal.com",
    "download_url": "https://files.pythonhosted.org/packages/b3/85/ba1b802564312ed941bb0d8188e68d3762bddad35ceaa81005be0deb0faf/fixations-0.2.36.tar.gz",
    "platform": null,
    "description": "# FIXations!\n## A set of tools to handle FIX protocol data\n - **fix_tags** - _explore FIX tags and their associated values either as CLI output or a GUI-like textual interface_\n - **fix_parse_log** - _extract FIX lines from a (log) file and present them in a nicely formatted grid_\n - **webfix** - _present copy-n-paste'd FIX lines into a nicely formatted grid_\n\n### Installation\n`pip3 install fixations`\n\n### Examples of running these applications\n#### fix_tags\n_Click on the link below since it was too small to asciicast in this page_\n[![asciicast](https://asciinema.org/a/551910.svg)](https://asciinema.org/a/551910?autoplay=1&t=2)\n\n#### fix_parse_log\n![fix_parse_log_demo](images/fix_parse_log_demo.gif)\n\n#### webfix\nWebfix needs to be used with either Flask (for dev purposes) \n```commandline\n$ python -m flask --app fixations.webfix run\n * Serving Flask app 'fixations.webfix'\n * Debug mode: off\nWARNING: This is a development server. Do not use it in a production deployment. \nUse a production WSGI server instead.\n * Running on http://127.0.0.1:5000\nPress CTRL+C to quit\n```\n\nor something like gunicorn (or other WSGI servers) for production uses:\n```commandline\n$ gunicorn fixations.wsgi:app\n[2023-01-16 19:55:31 -0500] [3380019] [INFO] Starting gunicorn 20.1.0\n[2023-01-16 19:55:31 -0500] [3380019] [INFO] Listening at: http://127.0.0.1:8000 (3380019)\n[2023-01-16 19:55:31 -0500] [3380019] [INFO] Using worker: sync\n[2023-01-16 19:55:31 -0500] [3380028] [INFO] Booting worker with pid: 3380028\n```\n\n![webfix_session](images/webfix_session.png)\n\n\n## FIX reference data source\nThe data is extracted from the FIX specs available here: \n\n> https://www.fixtrading.org/packages/fix-repository-2010/ \n(see fix_repository_2010_edition_20200402.zip).\n\nNOTE: it requires the creation of a login/password to access it.\n\n## TODO:\n 1. create a hyperlink to FIX specs for each tag based on FIX version :white_check_mark:\n 2. add more info to README.md. Use rule80A and 47 as example for fix_args :white_check_mark:\n 3. add more example(s)\n 4. add some pytest to detect the FIX version for example :white_check_mark:\n 5. add \"direction\" to columns to show whether it's a request or a response\n 6. catch exceptions and display them on the webpage\n 7. deploy to https://vercel.com/\n 8. allow creating an ASCII table equivalent suitable to be cut-n-paste into a document for example\n 9. add a short link ala tinyurl and save it into a sqlite3 db store :white_check_mark:\n 10. black theme?\n 11. allow to have no leading timestamp and use the timestamp FIX tags instead :white_check_mark:\n 12. add proper Logger\n 13. add DB stats\n 14. pypi.org can't display the ASCII screencast images. Need to reference GitHub's full path?\n 15. Give the option to remove or hide/obfuscate some sensitive fields such as tag55 or senderCompId/targetComPid :white_check_mark:\n 16. Show the delta between each timestamp (below each timestamp) :white_check_mark:\n 17. Transpose the grid/matrix :white_check_mark:\n 18. Shift-Enter = pressing on [Parse FIX] button :white_check_mark:\n 19. Support FIX Repeating Groups :white_check_mark:\n 20. When using fix_parse_log.py, also upload the same data to the webfix app to generate a tiny URL :white_check_mark: \n\n\n",
    "bugtrack_url": null,
    "license": "GPL-3.0-or-later",
    "summary": "This is a set of tools to look up / visualize FIX protocol data.",
    "version": "0.2.36",
    "project_urls": {
        "Homepage": "https://github.com/jeromegit/fixations"
    },
    "split_keywords": [
        "fix",
        "fix-protocol"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e46fa0c313ecf307413e003ee11925d240dfc14bfd9391701cec58b4a3ef3672",
                "md5": "ea8e5e3afc47632080998d37a4c4d495",
                "sha256": "326b452988eb5705132fff370c5beda42a482473658621400e46d57f4d80552a"
            },
            "downloads": -1,
            "filename": "fixations-0.2.36-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ea8e5e3afc47632080998d37a4c4d495",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 2803859,
            "upload_time": "2024-01-28T18:34:36",
            "upload_time_iso_8601": "2024-01-28T18:34:36.415472Z",
            "url": "https://files.pythonhosted.org/packages/e4/6f/a0c313ecf307413e003ee11925d240dfc14bfd9391701cec58b4a3ef3672/fixations-0.2.36-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b385ba1b802564312ed941bb0d8188e68d3762bddad35ceaa81005be0deb0faf",
                "md5": "be7d34f44d4ef91dcd6a0fda53d7bba3",
                "sha256": "c0745cc50c37940467e752c7e7246d98af730dbe30ea080ff3167644e314518b"
            },
            "downloads": -1,
            "filename": "fixations-0.2.36.tar.gz",
            "has_sig": false,
            "md5_digest": "be7d34f44d4ef91dcd6a0fda53d7bba3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 2598415,
            "upload_time": "2024-01-28T18:34:42",
            "upload_time_iso_8601": "2024-01-28T18:34:42.201673Z",
            "url": "https://files.pythonhosted.org/packages/b3/85/ba1b802564312ed941bb0d8188e68d3762bddad35ceaa81005be0deb0faf/fixations-0.2.36.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-28 18:34:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jeromegit",
    "github_project": "fixations",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "fixations"
}
        
Elapsed time: 0.17190s