Skip to main content
Help improve PyPI by participating in a 5-minute user interface survey!

A library for writing asynchronous JSON-RPC servers and clients in Python, using Twisted.

Project Description

Introduction

A library for writing asynchronous JSON-RPC servers and clients in Python, using Twisted. It aims to be as simple and easy to understand (and hack) as possible.

Read more about JSON-RPC at http://www.jsonrpc.org/

Features

  • Support for HTTP and HTTPS as protocol (via twisted.web) and for more lightweight netstring (see http://cr.yp.to/proto/netstrings.txt )
  • Support for HTTP authentization - only basic, not digest; use SSL for encrypted credentials.
  • Support for HTTP persistent connections and Factory to create proxies to different URLs
  • Support for HTTP compression
  • Full standards compliance.
  • Support both JSON-RPC standards at once - great if you don’t control your clients.
  • ‘Just work’ with various clients (i.e. PHP, C++, JavaScript…).
  • Detailed examples :-) .

TODO

  • More tests, better (functionality) coverage. This applies to every project, always :-) .
  • Refactoring, mostly tests.
    • test_server and test_jsonrpc
    • test_client and test_netstringclient

Notes

  • JSON is well readable for a human. It’s easy to use Wireshark (www.wireshark.org) or similar for debugging.
  • JSON-RPC version 1 doesn’t talk about batch requests. In order to support both standards at once, fastjsonrpc supports it just like in version 2. It ties JSON-RPC version to the method call, not the request as a whole.
  • I didn’t test the JSON Class hinting, as mentioned in the version 1 spec. I leave this to the JSON parsing capabilities of respective libraries.
  • SSL client test raises an error after shutDown. Looks like a bug in Trial and we can ignore it.

Release history Release notifications

This version
History Node

0.3.0

History Node

0.2.3

History Node

0.2.2

History Node

0.2.1

History Node

0.2.0

History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

History Node

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
fastjsonrpc-0.3.0.tar.gz (11.0 kB) Copy SHA256 hash SHA256 Source None Jul 29, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page