Python JSON RPC Server
======================
.. image:: https://circleci.com/gh/palantir/python-jsonrpc-server/tree/develop.svg?style=shield
:target: https://circleci.com/gh/palantir/python-jsonrpc-server/tree/develop
.. image:: https://ci.appveyor.com/api/projects/status/r0jlmvkqwneieeh6/branch/develop?svg=true
:target: https://ci.appveyor.com/project/gatesn/python-jsonrpc-server
.. image:: https://img.shields.io/github/license/palantir/python-jsonrpc-server.svg
:target: https://github.com/palantir/python-jsonrpc-server/blob/develop/LICENSE
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.
.. _JSON RPC 2.0: http://www.jsonrpc.org/specification
.. _Python Language Server: https://github.com/palantir/python-language-server
.. _concurrent.futures backport: https://github.com/agronholm/pythonfutures
.. _Monaco Language Client: https://github.com/TypeFox/monaco-languageclient
Raw data
{
"_id": null,
"home_page": "https://github.com/palantir/python-jsonrpc-server",
"name": "python-jsonrpc-server",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Palantir Technologies, Inc.",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/81/7d/c4c4102b94ef2e090d94fc02625653d3d3a0306e53ef24bcb6e9496bfc1e/python-jsonrpc-server-0.4.0.tar.gz",
"platform": "",
"description": "Python JSON RPC Server\n======================\n\n.. image:: https://circleci.com/gh/palantir/python-jsonrpc-server/tree/develop.svg?style=shield\n :target: https://circleci.com/gh/palantir/python-jsonrpc-server/tree/develop\n\n.. image:: https://ci.appveyor.com/api/projects/status/r0jlmvkqwneieeh6/branch/develop?svg=true\n :target: https://ci.appveyor.com/project/gatesn/python-jsonrpc-server\n\n.. image:: https://img.shields.io/github/license/palantir/python-jsonrpc-server.svg\n :target: https://github.com/palantir/python-jsonrpc-server/blob/develop/LICENSE\n\nA Python 2.7 and 3.4+ server implementation of the `JSON RPC 2.0`_ protocol. This library has been pulled\nout of the `Python Language Server`_ project.\n\nAsynchronous request handling is supported using Python 3's ``concurrent.futures`` module and the Python 2 `concurrent.futures backport`_.\n\nInstallation\n------------\n\n``pip install -U python-jsonrpc-server``\n\nExamples\n--------\n\nThe 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`_.\n\nStart by installing `tornado` and `python-language-server`\n\n``pip install python-language-server[all] tornado``\n\nThen running `python examples/langserver.py` or `python examples/langserver_ext.py` will host a websocket on ``ws://localhost:3000/python``.\n\nTo setup a client, you can use the examples from `Monaco Language Client`_.\n\nDevelopment\n-----------\n\nTo run the test suite:\n\n``pip install .[test] && tox``\n\nLicense\n-------\n\nThis project is made available under the MIT License.\n\n.. _JSON RPC 2.0: http://www.jsonrpc.org/specification\n.. _Python Language Server: https://github.com/palantir/python-language-server\n.. _concurrent.futures backport: https://github.com/agronholm/pythonfutures\n.. _Monaco Language Client: https://github.com/TypeFox/monaco-languageclient\n",
"bugtrack_url": null,
"license": "",
"summary": "JSON RPC 2.0 server library",
"version": "0.4.0",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "6a14be60e09878bb4cf5b29d19542a6b",
"sha256": "e5a908ff182e620aac07db5f57887eeb0afe33993008f57dc1b85b594cea250c"
},
"downloads": -1,
"filename": "python_jsonrpc_server-0.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6a14be60e09878bb4cf5b29d19542a6b",
"packagetype": "bdist_wheel",
"python_version": "3.5",
"requires_python": null,
"size": 8947,
"upload_time": "2020-09-08T19:22:48",
"upload_time_iso_8601": "2020-09-08T19:22:48.170443Z",
"url": "https://files.pythonhosted.org/packages/f9/4c/fa4be41bfc1aa933fe9f9990472dfbbe14527b8864c8a722df0799258966/python_jsonrpc_server-0.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "6bf030ac243685dab2df5fa0ab9c7baa",
"sha256": "62c543e541f101ec5b57dc654efc212d2c2e3ea47ff6f54b2e7dcb36ecf20595"
},
"downloads": -1,
"filename": "python-jsonrpc-server-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "6bf030ac243685dab2df5fa0ab9c7baa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26491,
"upload_time": "2020-09-08T19:22:46",
"upload_time_iso_8601": "2020-09-08T19:22:46.939149Z",
"url": "https://files.pythonhosted.org/packages/81/7d/c4c4102b94ef2e090d94fc02625653d3d3a0306e53ef24bcb6e9496bfc1e/python-jsonrpc-server-0.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2020-09-08 19:22:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "palantir",
"github_project": "python-jsonrpc-server",
"travis_ci": false,
"coveralls": true,
"github_actions": false,
"circle": true,
"appveyor": true,
"lcname": "python-jsonrpc-server"
}