1
0
This commit is contained in:
2024-01-15 20:20:10 +00:00
parent c75ea4ea9d
commit 38cd64ea9a
87 changed files with 3946 additions and 2040 deletions

View File

@@ -5,6 +5,15 @@ API Documentation
This section provides the API documentation for BTHLabs JSONRPC - Core.
Codecs
------
.. autoclass:: Codec
:members:
.. autoclass:: JSONCodec
:members:
Decorators
----------
@@ -29,15 +38,23 @@ Exceptions
.. autoexception:: JSONRPCSerializerError
:members:
Executor
--------
Executors
---------
.. autoclass:: Executor
:members:
Serializer
Registries
----------
.. autoclass:: MethodRegistry
:members:
Serializers
-----------
.. autoclass:: JSONRPCSerializer
:members:

View File

@@ -1,3 +1,4 @@
# type: ignore
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
@@ -20,10 +21,10 @@ sys.path.insert(0, os.path.abspath('../../'))
project = 'BTHLabs JSONRPC - Core'
copyright = '2022-present Tomek Wójcik'
author = 'Tomek Wójcik'
version = '1.0.0'
version = '1.1.0'
# The full version, including alpha/beta/rc tags
release = '1.0.0'
release = '1.1.0b1'
# -- General configuration ---------------------------------------------------

View File

@@ -0,0 +1,51 @@
Extensions
==========
.. module:: bthlabs_jsonrpc_core.ext
This section provides documentation for built-in extensions for BTHLabs
JSONRPC - Core.
JWT Codec
---------
This extension implements codec for using JWT instead of JSON for request and
response payloads.
**Installation**
Since JWT has external dependencies it needs to explicitly named to be
installed.
.. code-block::
$ pip install bthlabs_jsonrpc_core[jwt]
This will install ``python-jose[cryptography]``. Consult *python-jose* docs for
additional information on supported backends. If you wish to install another
backend, install *python-jose* accordingly and skip the *jwt* extra when
installing *bthlabs-jsonrpc-core*.
**API**
.. data:: bthlabs_jsonrpc_core.ext.jwt.ALGORITHMS
Supported algorithms. Directly exported from :py:data:`jose.constants.ALGORITHMS`.
.. class:: bthlabs_jsonrpc_core.ext.jwt.ECKey
ECDSA key wrapper. Directly exported from :py:class:`jose.jwk.ECKey`.
.. class:: bthlabs_jsonrpc_core.ext.jwt.HMACKey
HMAC key wrapper. Directly exported from :py:class:`jose.jwk.HMACKey`.
.. class:: bthlabs_jsonrpc_core.ext.jwt.RSA
RSA key wrapper. Directly exported from :py:class:`jose.jwk.RSA`.
.. autoclass:: bthlabs_jsonrpc_core.ext.jwt.KeyPair
:members:
.. autoclass:: bthlabs_jsonrpc_core.ext.jwt.JWTCodec
:members:

View File

@@ -16,3 +16,4 @@ The *core* package acts as a foundation for framework-specific integrations.
:maxdepth: 2
api
ext