Skip to main content

REdis Msgpack RPC

Installation

pip install remrpc

Example

import redis
import remrpc

def add(a, b):
    return a + b

def sub(a, b):
    return a - b

def multi():
    return 'Hello', 'World'

def kvfunc(k='key', v='val'):
    return '{0} = {1}'.format(k, v)

class CallObject:
    def __call__(self, name):
        return 'Hello {0}'.format(name)

if __name__ == "__main__":
    pool = redis.ConnectionPool(host='127.0.0.1',
                                port=6379,
                                password='123456')
    rpc1 = remrpc.RPC(redis.Redis(connection_pool=pool), 'channel:rpc1')
    rpc2 = remrpc.RPC(redis.Redis(connection_pool=pool), 'channel:rpc2')

    rpc1.register(add)
    rpc1.register(sub)
    rpc1.register(multi)
    rpc1.register(kvfunc)
    rpc1.register(CallObject(), 'sayhello')

    try:
        invoker = rpc2.invoker('channel:rpc1')

        print(invoker.add(1, 2))
        print(invoker.sub(9, 5))
        print(invoker.multi())
        print(invoker.kvfunc(k='KEY', v='VALUE'))
        print(invoker.sayhello('World'))
        # print(invoker.nonexistent())
    except remrpc.TimedoutRPC as e:
        print('> RPC Timedout: {0}'.format(e))
    except remrpc.CallErrorRPC as e:
        print('> RPC Call Error: {0}'.format(e))
    except remrpc.ExceptionRPC as e:
        print('> RPC Exception: {0}'.format(e))

    rpc1.close()
    rpc2.close()

Release files for remrpc 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for remrpc 0.1.2
File Size Uploaded
remrpc-0.1.2.tar.gz 4.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for remrpc 0.1.2
File Interpreter ABI Platform
remrpc-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 12.9 kB

Release files / remrpc-0.1.2.tar.gz

Download URL remrpc-0.1.2.tar.gz
Size 4.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9b107a20e95b99a510c64e4b769d92cc258daa6d04157433e6dc7af393309d28
BLAKE2b-256 checksum
How to use checksums
462d8149b06a181799e8b6eb71a1869d9099573d349a01adcdccc403244b01df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / remrpc-0.1.2-py3-none-any.whl

Download URL remrpc-0.1.2-py3-none-any.whl
Size 8.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3c8bc93a4834b3698b2acd941a9041db4d56ce829108c3631fb65bb19f937c9c
BLAKE2b-256 checksum
How to use checksums
364b636c8a3cf1e29df694e34ae2d423af6da32f9475f068033e329326e33bd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release history Release notifications | RSS feed

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page