Что такое jrpc-core?
jrpc-core — лёгкая Python-библиотека, реализующая спецификацию JSON-RPC 2.0 с двумя основными слоями:
| Слой | Модуль | Назначение |
|---|---|---|
| Сообщения | jrpc_core.messages | Модели Pydantic для запросов, ответов, уведомлений и ошибок |
| Диспетчер | jrpc_core.dispatcher | Маршрутизация входящих сообщений на обработчики на основе реестра |
Принципы проектирования
- Типобезопасность — каждая модель является
BaseModelиз Pydantic с явными типами полей и валидаторами. - Функциональность — обработка ошибок использует
ResultиOptionиз pyfplib вместо исключений. - Лёгкость — единственная зависимость от
pydanticиpyfplib, не требует async runtime. - Сериализуемость — чистый обмен между Python-объектами и строками JSON.
Архитектура
Входящая строка JSON
│
▼
try_parse()
│
┌────┴────┐
│ │
Запрос Уведомление
│ │
▼ ▼
JsonRpcDispatcher.__call__()
│
├──► поиск в реестре обработчиков
│
▼
JsonRpcResponseДальнейшие шаги
- Начало работы — установка и первый запрос
- API сообщений — полный справочник по моделям сообщений
- API диспетчера — полный справочник по маршрутизации и регистрации обработчиков