Loud Python messaging.
Shout is a single module providing simple messaging vocabulary for small applications. Shout is NOT a distributed messaging framework.
from shout import Message, hears, shout class WhoAreYou(Message): pass @hears(WhoAreYou) def lucky_day(): return "We are..." @hears(WhoAreYou) def dusty_bottoms(): return "The threeee..." @hears(WhoAreYou) def ned_nederlander(): return "Amigos!!" msg = shout(WhoAreYou) print("".join(msg.results)) # We are...The threeee...Amigos!!
- Decoupling of a GUI and it’s behavior
- PySide/PyQt signals are bound to widgets making it harder to decouple widgets. You have to explicitly connect each widget’s signals with their slots which could live deep in a hierarchy of widgets.
- Shout Messages are classes themselves, readily available to all other objects in their scope. Shout from inside, outside, top, or bottom of a widget hierarchy, Messages will still get to where they need to go!
- Shout is a single module, easily included with any package.
- It’s easy and fun to use.
Shout is available through the python package index as pyshout.
pip install pyshout
- Note that only the python package name is pyshout, the module it installs is simply shout.