3 ms·
Show HN: A pure Python implemention of Apache Thrift
- _wmd 12y agoGreat 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)
- jupake 12y agoI like the fact that its pure python. This makes it perfect for use on PyPy or Jython. +1
- jobeirne 12y agoThe support for Python3 here is killer; Thrift amazingly has yet to merge a number of patches that would enable py3 support despite many requests.
- state_machine 12y agoThis 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. https://issues.apache.org/jira/browse/THRIFT-1639 https://issues.apache.org/jira/browse/THRIFT-1639
- lxyu 12y agoYes, currently only binary protocol was implemented.
- e12e 12y agoNo support for SSL/TLS transport? Or am I just not finding it in the sources? :-/
- dvirsky 12y agoInteresting. There is a similar project for Go with an alternative compiler and implementation: https://github.com/samuel/go-thrift https://github.com/samuel/go-thrift Last I checked, the state of the default thrift Go bindings was very lacking, so I'm using this library instead.