[Python-ideas] add jsonrpc to stdlib "Internet Protocols and Support" akin to xmlrpc

Brett Cannon brett at python.org
Mon Jul 25 12:50:27 EDT 2016

On Mon, 25 Jul 2016 at 01:05 Achim Andreas von Roznowski <dev at roznowski.net>

> Hi
> I am new to this mailing list, hopefully this idea hasn't been raised
> already - I searched the PEPs and python-ideas and couldn't find anything
> similar, so decided to post this idea. Please forgive me if it is a
> duplicate.
> Idea: add jsonprc server and client to stdlib "Internet Protocols and
> Support"
> Details
> I would like to suggest adding a jsonrpc server and client to the stdlib
> "Internet Protocols and Support"  with identical functionality to the
> existing xmlrpc.server and client but using json instead of xml, including
> a subclass SimpleJSONRPCServer just like SimpleXMLRPCServer based on
> socketserver.TCPServer.
> Rationale
> JSON is a very common data encoding format, widely established and very
> close to python's dictionaries, yet there exists today no jsonrpc server
> in stdlib.
> Many jsonrpc implementations using external libraries are available, so
> there is clearly demand, but no standard python library.
> All of these external implementations seem to require other external
> libraries for transport, eg. Werkzeug - no way to do this just using
> stdlib classes.
> Envisaged Features
> Identical to existing xmlrpc, just using json instead of xml encoding:
> -->
> https://docs.python.org/3/library/xmlrpc.server.html#simplexmlrpcserver-objects
> Effort
> I am too new to python-dev so others should estimate this, but it seems to
> me that all the hard work has already been done with xmlrpc - only the
> encoding would have to be adapted to encode/decode json instead of xml,
> which seems trivial, given that a json module already exists in stdlib.
> I appreciate your feedback.

Thanks for the idea, Achim, but I don't think a JSON-RPC library should be
in the stdlib. Honestly, if someone was proposing an XML-RPC library to go
into the stdlib today I would argue for it not to be included. I don't
think JSON-RPC is used by the vast majority of Python users nor difficult
enough to implement correctly to warrant being in the stdlib.

And even if we thought a JSON-RPC library should be included, I would argue
it should be asynchronous, meaning that the xmlrpc library couldn't be
reused in any way for the implementation.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20160725/a185d263/attachment.html>

More information about the Python-ideas mailing list