Great to see some competition to the official (and slightly unloved) implementation, especially since you're working on accelerated binary protocol, which the official implementation lacks (at least last I checked!). One thing I'd suggest, though:
> Can import thrift file as normal py modules. The sdk code is generated on the fly.
This kind of thing immediately puts me off using the module. Messing with process-global state just for the sake of convenience really isn't worth the risk, if your intention is to develop serious software, where lives and livelihoods might at some point depend on its reliability. As "import this" puts it, "special cases aren't special enough to break the rules."
Would rather see the module import hook stuff removed, or at least easily disabled. (e.g. have you tried to see how it works in combination with something like py2exe? I suspect it will break)
This doesn't appear to support TCompactProtocol, which in the official Python implementation uses a different byte-order on the wire than the official implementation in every other language.
9 comments
[ 55.0 ms ] story [ 185 ms ] thread> Can import thrift file as normal py modules. The sdk code is generated on the fly.
This kind of thing immediately puts me off using the module. Messing with process-global state just for the sake of convenience really isn't worth the risk, if your intention is to develop serious software, where lives and livelihoods might at some point depend on its reliability. As "import this" puts it, "special cases aren't special enough to break the rules."
Would rather see the module import hook stuff removed, or at least easily disabled. (e.g. have you tried to see how it works in combination with something like py2exe? I suspect it will break)
https://issues.apache.org/jira/browse/THRIFT-1639
Last I checked, the state of the default thrift Go bindings was very lacking, so I'm using this library instead.