Skip to main content

JSON RPC 2.0 server library

Project description

https://circleci.com/gh/palantir/python-jsonrpc-server/tree/develop.svg?style=shield https://ci.appveyor.com/api/projects/status/r0jlmvkqwneieeh6/branch/develop?svg=true https://img.shields.io/github/license/palantir/python-jsonrpc-server.svg

A Python 2.7 and 3.4+ server implementation of the JSON RPC 2.0 protocol. This library has been pulled out of the Python Language Server project.

Asynchronous request handling is supported using Python 3’s concurrent.futures module and the Python 2 concurrent.futures backport.

Installation

pip install -U python-jsonrpc-server

Examples

The examples directory contains two examples of running language servers over websockets. examples/langserver.py shows how to run a language server in-memory. examples/langserver_ext.py shows how to run a subprocess language server, in this case the Python Language Server.

Start by installing tornado and python-language-server

pip install python-language-server[all] tornado

Then running python examples/langserver.py or python examples/langserver_ext.py will host a websocket on ws://localhost:3000/python.

To setup a client, you can use the examples from Monaco Language Client.

Development

To run the test suite:

pip install .[test] && tox

License

This project is made available under the MIT License.

Supported by

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