skillfed

python-lsp-jsonrpc

JSON RPC 2.0 server library

python-lsp-jsonrpc v1.1.2 1.8M downloads/30d#3,516 on PyPI28
Permissive license MIT AGING released

What it is and what it does

python-lsp-jsonrpc is a server-side implementation of the JSON RPC 2.0 specification extracted from the Python LSP Server project. It handles the protocol mechanics—parsing requests, dispatching to handlers, and sending responses—but does not provide the transport layer itself; you supply that via stdin/stdout, sockets, websockets, or any other I/O mechanism.

The package is typically used as a foundation for building language servers, editor integrations, or other RPC-based services in Python. It depends only on ujson for fast JSON parsing and is designed to be lightweight and composable with existing transport frameworks like tornado or asyncio.

Use it for:

  • Building language server implementations that communicate with editors over JSON RPC 2.0
  • Creating RPC-based microservices or inter-process communication layers in Python
  • Wrapping existing Python tools to expose them via the JSON RPC 2.0 protocol over websockets or stdio
  • Handling bidirectional request-response and notification patterns in editor plugins or IDE extensions

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Implements a JSON RPC 2.0 server for Python 3.8+, enabling request-response and notification handling over any transport layer.

Yes, if you need a JSON RPC 2.0 server implementation. The package is stable, permissively licensed, and has low install friction. However, note that maintenance is aging (last release 2023-09-23 with no recent commits), so expect no active development or rapid bug fixes. Suitable for production use in stable, low-change scenarios; less suitable if you need ongoing support or active feature development.

Install

python-lsp-jsonrpc on PyPI

pip

pip install python-lsp-jsonrpc

uv

uv add python-lsp-jsonrpc

poetry

poetry add python-lsp-jsonrpc

Installing python-lsp-jsonrpc

Before you install

Low install friction with a single lightweight dependency (ujson). Maintenance status is aging—last release was 2023-09-23 and the repository shows no recent commits, though it remains unarchived and stable.

License in practice

MIT license permits unrestricted use, modification, and distribution in both open and proprietary projects with minimal obligations.

Quickstart

pip install python-lsp-jsonrpc

from python_lsp_jsonrpc import JSONRPC2Connection, ReadWriter
import sys

reader_writer = ReadWriter(sys.stdin.buffer, sys.stdout.buffer)
conn = JSONRPC2Connection(reader_writer)
conn.start()

Requires Python 3.8 or later; transport layer (stdin/stdout, sockets, websockets) must be provided by the caller.

Verify before relying

  • Whether the package is actively maintained or in maintenance-only mode despite the aging status
  • Performance characteristics when handling high-volume RPC calls or large payloads

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 1 — ujson
Maintenance aging — 1,056 days since the last release
Last repo commit
First released
Downloads 1,823,353/month — #3,516 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: python_lsp_jsonrpc-1.1.2-py3-none-any.whl

License :: OSI Approved :: MIT License

Tags

json rpc server pythonjson rpc 2.0 implementationrpc protocol handlerlanguage server protocol basejsonrpc request dispatcher
rpc-protocollanguage-serverjson-rpc-2.0

More Internet packages