tfgm / sbedecoder

Python based Simple Binary Encoding (SBE) decoder
MIT License
75 stars 45 forks source link

Move prettyprinter and orderbook into a "mdp" package #23

Closed tfgm-bud closed 7 years ago

tfgm-bud commented 7 years ago

Breaking Change

The mdp pretty printer was not really setup as a proper module as there was no good place to put it. Also, the orderbook module is specific to processing CME MDP messages. By introducing a "mdp" package, we can have a reasonable place to put both of these modules.

tfgm-bud commented 7 years ago

@tamboril Can you take a look at this and provide any feedback?

I ran into a problem with the pretty printer:

$ virtualenv x
$ source x/bin/activate
(x) $ python setup.py develop
(x) $ mdp_decoder.py --help
Traceback (most recent call last):
  File "/home/bud/src/sbedecoder/x/bin/mdp_decoder.py", line 6, in <module>
    exec(compile(open(__file__).read(), __file__, 'exec'))
  File "/home/bud/src/sbedecoder/scripts/mdp_decoder.py", line 15, in <module>
    import mdp_prettyprinter
ImportError: No module named mdp_prettyprinter

The issue is that the mdp_prettyprinter.py is in /scripts. A workaround is to go ahead and add it to the scripts in setup.py but then it gets installed to /bin which doesn't seem right. This change introduces a "mdp" package which gives us a place to put mdp3 specific code.