Skip to main content

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.

Project details


Download files

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

Source Distribution

fastjsonrpc-0.3.0.tar.gz (11.0 kB view details)

Uploaded Source

File details

Details for the file fastjsonrpc-0.3.0.tar.gz.

File metadata

  • Download URL: fastjsonrpc-0.3.0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for fastjsonrpc-0.3.0.tar.gz
Algorithm Hash digest
SHA256 e640235698d105d91ef207543cc3fdc8ead640a7231f5f4738a92ab6ba212ff9
MD5 75b675759766dda1c936f8e375424f2b
BLAKE2b-256 7184b1bdc129baa9808c1c08e6864950cd4ac673faf42020b5451f0f18284e7f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page