https://github.com/sander76/aiosubpub
Async pubsub implementation
https://github.com/sander76/aiosubpub
Last synced: 6 months ago
JSON representation
Async pubsub implementation
- Host: GitHub
- URL: https://github.com/sander76/aiosubpub
- Owner: sander76
- License: mit
- Created: 2020-01-31T10:05:40.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-02-26T19:32:20.000Z (over 4 years ago)
- Last Synced: 2025-08-24T19:41:29.790Z (10 months ago)
- Language: Python
- Size: 21.5 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/psf/black)

[](https://codecov.io/gh/sander76/pypubsub)
# AioSubPub
Async pub sub implementation.
Inspired by someone else whose name I cannot find anymore. If you see your code (I did some improvements on it I think) please let me know and I am happy to give you credit.
## Installation
`pip install aiosubpub`
## Usage
```python
import aiosubpub
import asyncio
loop=asyncio.get_event_loop()
# create a channel
a_channel = aiosubpub.Channel()
# subscribe to the channel using a callback.
def call_back(data):
print(data)
subscription = loop.create_task(a_channel.subscribe(call_back))
# Publish a message.
a_channel.publish("a message")
subscription.un_subscribe()
# Without callback:
subscription = a_channel.get_subscription()
async def _custom_subscriber():
with subscription as sub:
result = await sub.get()
print(result)
a_channel.publish("a message")
result = await _custom_subscriber()
```
## changelog
### 1.0.10
- Add `get_latest` to the channel.