Metadata-Version: 2.1
Name: redispubsub
Version: 0.0.7
Summary: Redis RPC server for microservices
Home-page: https://github.com/munisisazade/redis-pub-sub
Author: Munis Isazade
Author-email: munisisazade@gmail.com
License: MIT
Platform: any
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: redis
Provides-Extra: redis
Requires-Dist: redis; extra == "redis"

# redis-pub-sub

Redis RPC with PubSub simple lightweight

# Getting Started

Install Redis rpc
```bash
pip install redispubsub
```

### Server example
```python
import os
from redisrpc import RedisRPC
# Add REDIS_URI application enviroment variable

os.environ.setdefault("REDIS_URI", "redis://localhost:6379/0")

rpc = RedisRPC("channel_name") # rename what you want

# event lists
def calc_square(response): # `response` is a sender data
    power_of_number = response**2
    return power_of_number # sent to client
    
def calc_cube(response): # `response` is a sender data
    cube_of_number = response**3
    return cube_of_number # sent to client

rpc.register(calc_square, "square") # event name default function name
rpc.register(calc_cube, "cube")

rpc.listen()
```
### Client interface
```python
import os
from redisrpc import RedisRPC

# Add REDIS_URI application enviroment

os.environ.setdefault("REDIS_URI", "redis://localhost:6379/0")

rpc = RedisRPC("channel_name")  # channel name must be same as server
square = rpc.send("square", 5)  # send data to spesific event
cube = rpc.send("cube", 3)

# response from server handlers
print(square)  # 25
print(cube)  # 27

```

# Contributing
Fell free to open issue and send pull request.
