File: PKG-INFO

package info (click to toggle)
python-thriftpy 0.3.9+ds1-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 560 kB
  • sloc: python: 3,287; ansic: 30; makefile: 7
file content (176 lines) | stat: -rw-r--r-- 5,665 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
Metadata-Version: 1.1
Name: thriftpy
Version: 0.3.9
Summary: Pure python implementation of Apache Thrift.
Home-page: https://thriftpy.readthedocs.org/
Author: Lx Yu
Author-email: i@lxyu.net
License: MIT
Description: ========
        ThriftPy
        ========
        
        .. image:: http://img.shields.io/travis/eleme/thriftpy/develop.svg?style=flat
           :target: https://travis-ci.org/eleme/thriftpy
        
        .. image:: http://img.shields.io/github/release/eleme/thriftpy.svg?style=flat
           :target: https://github.com/eleme/thriftpy/releases
        
        .. image:: http://img.shields.io/pypi/v/thriftpy.svg?style=flat
           :target: https://pypi.python.org/pypi/thriftpy
        
        .. image:: http://img.shields.io/pypi/dm/thriftpy.svg?style=flat
           :target: https://pypi.python.org/pypi/thriftpy
        
        ThriftPy is a pure python implementation of
        `Apache Thrift <http://thrift.apache.org/>`_ in a pythonic way.
        
        Documentation: https://thriftpy.readthedocs.org/
        
        
        Installation
        ============
        
        Install with pip.
        
        .. code:: bash
        
            $ pip install thriftpy
        
        You may also install cython first to build cython extension locally.
        
        .. code:: bash
        
            $ pip install cython thriftpy
        
        
        Code Demo
        =========
        
        ThriftPy make it super easy to write server/client code with thrift. Let's
        checkout this simple pingpong service demo.
        
        We need a 'pingpong.thrift' file:
        
        ::
        
            service PingPong {
                string ping(),
            }
        
        Then we can make a server:
        
        .. code:: python
        
            import thriftpy
            pingpong_thrift = thriftpy.load("pingpong.thrift", module_name="pingpong_thrift")
        
            from thriftpy.rpc import make_server
        
            class Dispatcher(object):
                def ping(self):
                    return "pong"
        
            server = make_server(pingpong_thrift.PingPong, Dispatcher(), '127.0.0.1', 6000)
            server.serve()
        
        And a client:
        
        .. code:: python
        
            import thriftpy
            pingpong_thrift = thriftpy.load("pingpong.thrift", module_name="pingpong_thrift")
        
            from thriftpy.rpc import make_client
        
            client = make_client(pingpong_thrift.PingPong, '127.0.0.1', 6000)
            print(client.ping())
        
        See, it's that easy!
        
        You can refer to 'examples' and 'tests' directory in source code for more
        usage examples.
        
        
        
        Features
        ========
        
        Currently ThriftPy have these features (also advantages over the upstream
        python lib):
        
        - Supports python2.6+, python3.3+, pypy and pypy3.
        
        - Pure python implementation. No longer need to compile & install the 'thrift'
          package. All you need is thriftpy and thrift file.
        
        - Compatible with Apache Thrift. You can use ThriftPy together with the
          official implementation servers and clients, such as a upstream server with
          a thriftpy client or the opposite.
        
          Currently implemented protocols and transports:
        
          * binary protocol (python and cython)
        
          * compact protocol (python and cython)
        
          * json protocol
        
          * buffered transport (python & cython)
        
          * framed transport
        
          * tornado server and client (with tornado 4.0)
        
        
        - Can directly load thrift file as module, the sdk code will be generated on
          the fly.
        
          For example, ``pingpong_thrift = thriftpy.load("pingpong.thrift", module_name="pingpong_thrift")``
          will load 'pingpong.thrift' as 'pingpong_thrift' module.
        
          Or, when import hook enabled by ``thriftpy.install_import_hook()``, you can
          directly use ``import pingpong_thrift`` to import the 'pingpong.thrift' file
          as module, you may also use ``from pingpong_thrift import PingService`` to
          import specific object from the thrift module.
        
        - Easy RPC server/client setup.
        
        
        
        Contribute
        ==========
        
        1. Fork the repo and make changes.
        
        2. Write a test which shows a bug was fixed or the feature works as expected.
        
        3. Make sure ``travis-ci`` or ``tox`` tests succeed.
        
        4. Send pull request.
        
        
        Contributors
        ============
        
        https://github.com/eleme/thriftpy/graphs/contributors
        
        
        Changelog
        =========
        
        https://github.com/eleme/thriftpy/blob/master/CHANGES.rst
        
Keywords: thrift python thriftpy
Platform: UNKNOWN
Classifier: Topic :: Software Development
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy