Skip to content

Commit 7a9aa1b

Browse files
committed
Adjust readme
1 parent 27b37eb commit 7a9aa1b

28 files changed

+48
-43
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ repos:
3030
- websockets<11
3131

3232
- repo: https://github.com/pre-commit/mirrors-mypy
33-
rev: v0.971
33+
rev: v1.14.1
3434
hooks:
3535
- id: mypy
3636
args: [--strict]

README.md

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,10 @@ from jsonrpcserver import method, serve, Success
2323
def ping():
2424
return Success("pong")
2525

26-
if __name__ == "__main__":
27-
serve()
28-
```
29-
30-
Or use `dispatch` instead of `serve`:
31-
32-
```python
3326
response = dispatch('{"jsonrpc": "2.0", "method": "ping", "id": 1}')
3427
# => '{"jsonrpc": "2.0", "result": "pong", "id": 1}'
3528
```
3629

37-
[Watch a video on how to use it.](https://www.youtube.com/watch?v=3_BMmgJaFHQ)
38-
3930
Full documentation is at [jsonrpcserver.com](https://www.jsonrpcserver.com/).
4031

4132
See also: [jsonrpcclient](https://github.com/explodinglabs/jsonrpcclient)

examples/aiohttp_server.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""AioHTTP server"""
22
from aiohttp import web
3-
from jsonrpcserver import method, Result, Success, async_dispatch
3+
4+
from jsonrpcserver import Result, Success, async_dispatch, method
45

56

67
@method

examples/aiozmq_server.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
import aiozmq # type: ignore
55
import zmq
6-
from jsonrpcserver import method, Result, Success, async_dispatch
6+
7+
from jsonrpcserver import Result, Success, async_dispatch, method
78

89

910
@method

examples/asyncio_server.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import asyncio
33
import json
44

5-
from jsonrpcserver import method, Result, Success, async_dispatch
5+
from jsonrpcserver import Result, Success, async_dispatch, method
66

77

88
@method

examples/django_server.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
"""Django server"""
22
from django.http import HttpRequest, HttpResponse # type: ignore
33
from django.views.decorators.csrf import csrf_exempt # type: ignore
4-
from jsonrpcserver import method, Result, Success, dispatch
4+
5+
from jsonrpcserver import Result, Success, dispatch, method
56

67

78
@method

examples/fastapi_server.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""FastAPI server"""
2+
import uvicorn
23
from fastapi import FastAPI, Request, Response
3-
import uvicorn # type: ignore
4+
45
from jsonrpcserver import Result, Success, dispatch, method
56

67
app = FastAPI()

examples/flask_server.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""Flask server"""
22
from flask import Flask, Response, request
3-
from jsonrpcserver import method, Result, Success, dispatch
3+
4+
from jsonrpcserver import Result, Success, dispatch, method
45

56
app = Flask(__name__)
67

examples/http_server.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"""
55
from http.server import BaseHTTPRequestHandler, HTTPServer
66

7-
from jsonrpcserver import method, Result, Success, dispatch
7+
from jsonrpcserver import Result, Success, dispatch, method
88

99

1010
@method

examples/jsonrpcserver_server.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
Uses jsonrpcserver's built-in "serve" function.
44
"""
5-
from jsonrpcserver import method, Result, Success, serve
5+
from jsonrpcserver import Result, Success, method, serve
66

77

88
@method

examples/sanic_server.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from sanic import Sanic
33
from sanic.request import Request
44
from sanic.response import HTTPResponse, json
5+
56
from jsonrpcserver import Result, Success, dispatch_to_serializable, method
67

78
app = Sanic("JSON-RPC app")

examples/socketio_server.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
"""SocketIO server"""
22
from flask import Flask, Request
33
from flask_socketio import SocketIO, send # type: ignore
4-
from jsonrpcserver import method, Result, Success, dispatch
4+
5+
from jsonrpcserver import Result, Success, dispatch, method
56

67
app = Flask(__name__)
78
socketio = SocketIO(app)

examples/tornado_server.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
from typing import Awaitable, Optional
33

44
from tornado import ioloop, web
5-
from jsonrpcserver import method, Result, Success, async_dispatch
5+
6+
from jsonrpcserver import Result, Success, async_dispatch, method
67

78

89
@method

examples/websockets_server.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
import asyncio
33

44
from websockets.server import WebSocketServerProtocol, serve
5-
from jsonrpcserver import method, Success, Result, async_dispatch
5+
6+
from jsonrpcserver import Result, Success, async_dispatch, method
67

78

89
@method

examples/werkzeug_server.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
"""Werkzeug server"""
22
from werkzeug.serving import run_simple
33
from werkzeug.wrappers import Request, Response
4-
from jsonrpcserver import method, Result, Success, dispatch
4+
5+
from jsonrpcserver import Result, Success, dispatch, method
56

67

78
@method

examples/zeromq_server.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""ZeroMQ server"""
22
import zmq
3-
from jsonrpcserver import method, Result, Success, dispatch
3+
4+
from jsonrpcserver import Result, Success, dispatch, method
45

56
socket = zmq.Context().socket(zmq.REP)
67

jsonrpcserver/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,11 @@
1818

1919
from .async_main import (
2020
dispatch as async_dispatch,
21+
)
22+
from .async_main import (
2123
dispatch_to_response as async_dispatch_to_response,
24+
)
25+
from .async_main import (
2226
dispatch_to_serializable as async_dispatch_to_serializable,
2327
)
2428
from .exceptions import JsonRpcError

jsonrpcserver/async_dispatcher.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
"""Async version of dispatcher.py"""
2+
import asyncio
3+
import logging
24
from functools import partial
35
from itertools import starmap
46
from typing import Any, Callable, Iterable, Tuple, Union
5-
import asyncio
6-
import logging
77

88
from oslash.either import Left # type: ignore
99

@@ -24,8 +24,8 @@
2424
from .exceptions import JsonRpcError
2525
from .methods import Method, Methods
2626
from .request import Request
27-
from .result import Result, InternalErrorResult, ErrorResult
2827
from .response import Response, ServerErrorResponse
28+
from .result import ErrorResult, InternalErrorResult, Result
2929
from .utils import make_list
3030

3131
logger = logging.getLogger(__name__)

jsonrpcserver/async_main.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@
44

55
from .async_dispatcher import dispatch_to_response_pure
66
from .dispatcher import Deserialized
7-
from .main import default_validator, default_deserializer
7+
from .main import default_deserializer, default_validator
88
from .methods import Methods, global_methods
99
from .response import Response, to_serializable
1010
from .sentinels import NOCONTEXT
1111
from .utils import identity
1212

13-
1413
# pylint: disable=missing-function-docstring,duplicate-code
1514

1615

jsonrpcserver/dispatcher.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
"""Dispatcher - does the hard work of this library: parses, validates and dispatches
22
requests, providing responses.
33
"""
4+
45
# pylint: disable=protected-access
6+
import logging
57
from functools import partial
68
from inspect import signature
79
from itertools import starmap
810
from typing import Any, Callable, Dict, Iterable, List, Tuple, Union
9-
import logging
1011

1112
from oslash.either import Either, Left, Right # type: ignore
1213

jsonrpcserver/exceptions.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"""Exceptions"""
22
from typing import Any
3+
34
from .sentinels import NODATA
45

56

jsonrpcserver/main.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,18 @@
99
- dispatch_to_json/dispatch: Returns a JSON-RPC response string (or an empty string for
1010
notifications).
1111
"""
12+
import json
1213
from importlib.resources import read_text
1314
from typing import Any, Callable, Dict, List, Optional, Union, cast
14-
import json
1515

1616
from jsonschema.validators import validator_for # type: ignore
1717

18-
from .dispatcher import dispatch_to_response_pure, Deserialized
18+
from .dispatcher import Deserialized, dispatch_to_response_pure
1919
from .methods import Methods, global_methods
2020
from .response import Response, to_dict
2121
from .sentinels import NOCONTEXT
2222
from .utils import identity
2323

24-
2524
default_deserializer = json.loads
2625

2726
# Prepare the jsonschema validator. This is global so it loads only once, not every

jsonrpcserver/response.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
https://www.jsonrpc.org/specification#response_object
44
"""
5-
from typing import Any, Dict, List, Type, NamedTuple, Union
5+
from typing import Any, Dict, List, NamedTuple, Type, Union
66

77
from oslash.either import Either, Left # type: ignore
88

jsonrpcserver/result.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
from oslash.either import Either, Left, Right # type: ignore
1212

13-
from .codes import ERROR_INVALID_PARAMS, ERROR_METHOD_NOT_FOUND, ERROR_INTERNAL_ERROR
13+
from .codes import ERROR_INTERNAL_ERROR, ERROR_INVALID_PARAMS, ERROR_METHOD_NOT_FOUND
1414
from .sentinels import NODATA
1515

1616
# pylint: disable=missing-class-docstring,missing-function-docstring,invalid-name

tests/test_async_dispatcher.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""Test async_dispatcher.py"""
22
from unittest.mock import Mock, patch
3-
import pytest
43

4+
import pytest
55
from oslash.either import Left, Right # type: ignore
66

77
from jsonrpcserver.async_dispatcher import (
@@ -10,9 +10,9 @@
1010
dispatch_request,
1111
dispatch_to_response_pure,
1212
)
13-
from jsonrpcserver.main import default_deserializer, default_validator
1413
from jsonrpcserver.codes import ERROR_INTERNAL_ERROR, ERROR_SERVER_ERROR
1514
from jsonrpcserver.exceptions import JsonRpcError
15+
from jsonrpcserver.main import default_deserializer, default_validator
1616
from jsonrpcserver.request import Request
1717
from jsonrpcserver.response import ErrorResponse, SuccessResponse
1818
from jsonrpcserver.result import ErrorResult, Result, Success, SuccessResult

tests/test_async_main.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
"""Test async_main.py"""
22
import pytest
3-
43
from oslash.either import Right # type: ignore
54

65
from jsonrpcserver.async_main import (
6+
dispatch_to_json,
77
dispatch_to_response,
88
dispatch_to_serializable,
9-
dispatch_to_json,
109
)
1110
from jsonrpcserver.response import SuccessResponse
1211
from jsonrpcserver.result import Result, Success

tests/test_dispatcher.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
33
TODO: Add tests for dispatch_requests (non-pure version)
44
"""
5+
import json
56
from typing import Any, Callable, Dict
67
from unittest.mock import Mock, patch, sentinel
7-
import json
8-
import pytest
98

9+
import pytest
1010
from oslash.either import Left, Right # type: ignore
1111

1212
from jsonrpcserver.codes import (
@@ -23,9 +23,9 @@
2323
dispatch_deserialized,
2424
dispatch_request,
2525
dispatch_to_response_pure,
26-
extract_list,
2726
extract_args,
2827
extract_kwargs,
28+
extract_list,
2929
get_method,
3030
not_notification,
3131
to_response,
@@ -36,8 +36,8 @@
3636
from jsonrpcserver.main import (
3737
default_deserializer,
3838
default_validator,
39-
dispatch_to_response,
4039
dispatch,
40+
dispatch_to_response,
4141
)
4242
from jsonrpcserver.methods import method
4343
from jsonrpcserver.request import Request

tests/test_main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
from oslash.either import Right # type: ignore
33

44
from jsonrpcserver.main import (
5+
dispatch_to_json,
56
dispatch_to_response,
67
dispatch_to_serializable,
7-
dispatch_to_json,
88
)
99
from jsonrpcserver.response import SuccessResponse
1010
from jsonrpcserver.result import Result, Success

0 commit comments

Comments
 (0)