semvec/pypi-packages huggingface dataset:
aiojsonrpc2 1.0.0
Python3 asyncio JSONRPC module
License: MIT
Requires Python: >=3.5
Keywords: jsonrpc async asyncio aio json rpc

**``aiojsonrpc2`` is a Python3 JSONRPC module built using ``asyncio``.**

-  Supports Python 3.5+ only (uses ``async``/``await`` syntax)
-  Plain socket transport (not JSONRPC over HTTP)
-  Supports secure TLS (ie. SSL) sockets

This is a new, fast, and modern JSONRPC module originally built to
support
```aiostratum_proxy`` <https://github.com/wetblanketcc/aiostratum_proxy>`__
(a next-gen, extensible cryptocurrency mining proxy). However, releasing
it as it’s own independent Python package made the most sense.

Installation
^^^^^^^^^^^^

There are currently no external dependencies required for
``aiojsonrpc2``, and installation is simple:

::

    pip install aiojsonrpc2

Usage
^^^^^

To use ``aiojsonrpc2`` and depending on your needs, you need to
implement either a client or server ‘protocol’. Both ``ClientProtocol``
and ``ServerProtocol`` let you handle bi-directional JSONRPC
communication.

All incoming JSONRPC requests infer a protocol instance method from the
JSONRPC ``method`` parameter. For example, if the ``method`` contains
``client.show_message``, then the protocol class implementation must
have an instance method called ``handle_client_show_message``:

::

    from aiojsonrpc2 import ClientProtocol, ServerProtocol

    class MyClientProtocol(ClientProtocol):
        # NOTE: the opposing connection (perhaps a server) would
        # have sent the `client.show_message` request;
        # bidirectional communication!
        def handle_client_show_message(self, connection, params, **kwargs):
            # assuming the message to show is `params[0]`
            print(params[0])

Note how all ``.`` (ie. full stops/periods) from the JSONRPC ``method``
parameter are replaced by ``_`` (ie. underscore).

Future Considerations
^^^^^^^^^^^^^^^^^^^^^

Community involvement is appreciated. `Code
review <https://github.com/wetblanketcc/aiojsonrpc2>`__, `pull requests
for bug fixes &
improvements <https://github.com/wetblanketcc/aiojsonrpc2/pulls>`__,
`reporting
issues <https://github.com/wetblanketcc/aiojsonrpc2/issues>`__,
spreading the word - all appreciated.

TODO:
'''''

-  tests
-  travis integration
-  handle `haproxy ``PROXY``
   protocol <http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt>`__
zas 0.2.0
Zencore Application Server.
License: MIT
Keywords: zas

zas
===

.. image:: https://travis-ci.org/appstore-zencore/zas.svg?branch=master
    :target: https://travis-ci.org/appstore-zencore/zas

Zencore Application Server


Install
-------

::

    pip install zas


Usage
-----

::

    E:\zas\src\scripts>python zas.py
    Usage: zas.py [OPTIONS] COMMAND [ARGS]...

    Options:
    -c, --config FILENAME  Config file path, use yaml format. Default to
                            config.yaml.
    --help                 Show this message and exit.

    Commands:
    reload  Reload application server.
    start   Start application server.
    stop    Stop application server.


Example Config
--------------

::

    application:
        deamon: true
        pidfile: /tmp/appname.pid
        main: app.main


Create a new type server
------------------------

::

    from zascore import server
    from zascore import set_default_config_path
    from zascore import set_default_pidfile
    from zascore import set_config_loader
    from zascore import default_config_loader

    def helloserver_loader(config):
        data = default_config_loader(config)
        data["server-name"] = "hello server v1.0.0"
        return data

    if __name__ == "__main__":
        set_default_config_path("/etc/helloserver.yaml")
        set_default_pidfile("/var/run/helloserver.pid")
        set_config_loader(helloserver_loader)
        server()