semvec/pypi-packages huggingface dataset:
signalr-client-threads 0.0.12
Fork of SignalR client for Python based on threads instead of gevent
License: Apache
Keywords: signalr

signalr-client-threads
======================

Python client proxy for `SignalR <http://signalr.net/>`_.

*Note: This is currently not compatible with ASP.NET Core SignalR (.NET Core 2.1), due to some changes in SignalR protocol there.*


Requirements
------------

Install requirements by running::

    pip install -r requirements


Fork of SignalR client for Python based on threads instead of gevent.


Compatibility
-------------

Compatible with Python 2 and 3.


Usage
-----
Here is sample usage::

    from requests import Session
    from signalr import Connection

    with Session() as session:
        #create a connection
        connection = Connection("http://localhost:5000/signalr", session)

        #get chat hub
        chat = connection.register_hub('chat')

        #start a connection
        connection.start()

        #create new chat message handler
        def print_received_message(data):
            print('received: ', data)

        #create new chat topic handler
        def print_topic(topic, user):
            print('topic: ', topic, user)

        #create error handler
        def print_error(error):
            print('error: ', error)

        #receive new chat messages from the hub
        chat.client.on('newMessageReceived', print_received_message)

        #change chat topic
        chat.client.on('topicChanged', print_topic)

        #process errors
        connection.error += print_error

        #start connection, optionally can be connection.start()
        with connection:

            #post new message
            chat.server.invoke('send', 'Python is here')

            #change chat topic
            chat.server.invoke('setTopic', 'Welcome python!')

            #invoke server method that throws error
            chat.server.invoke('requestError')

            #post another message
            chat.server.invoke('send', 'Bye-bye!')

            #wait a second before exit
            connection.wait(1)