Skip to content

Latest commit

History

78 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

MessagePack RPC for Python

MessagePack RPC implementation based on Tornado.

Installation

% pip install msgpack-rpc-python

or

% python setup.py install

Module dependency

  • msgpack-python (>= 0.3)
  • tornado (>= 3)

Example

Server

importmsgpackrpcclassSumServer(object):
defsum(self, x, y):
returnx+yserver=msgpackrpc.Server(SumServer())
server.listen(msgpackrpc.Address("localhost", 18800))
server.start()

Client

importmsgpackrpcclient=msgpackrpc.Client(msgpackrpc.Address("localhost", 18800))
result=client.call('sum', 1, 2) # = > 3

Run test

In test directory:

% PYTHONPATH=../ python test/test_msgpackrpc.py

Run with timeout test(Timeout test takes about 5 seconds)

% PYTHONPATH=../ python test/test_msgpackrpc.py --timeout-test

Performance

OS: Mac OS X ver 10.8.3
CPU: Intel Core i7 2.7 GHz
Memory: 16 GB 1600 MHz DDR3

call(QPS)async(QPS)notify(QPS)
2.7.35903604024877
3.3.05493581223634
PyPy 1.9.0 with GCC 4.2.15519972946406

Test code are available in example directory(bench_client.py and bench_server.py).

TODO

  • Add advanced return to Server.
  • UDP, UNIX Domain support
  • Utilities (MultiFuture, SessionPool)

Copyright

AuthorMasahiro Nakagawa
CopyrightCopyright (c) 2011- Masahiro Nakagawa
LicenseApache License, Version 2.0

About

MessagePack RPC implementation for Python

Resources

Stars

211 stars

Watchers

8 watching

Forks

Releases

Packages

Used by

Contributors

Languages