Skip to main content

Loud python messaging!

Project description

Build Status Coverage Status Latest Version

Shout!

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!!

Why Shout

  • 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.

Get Shout

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.

Documentation

For more information visit the docs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyshout-0.2.1.tar.gz (5.2 kB view details)

Uploaded Source

File details

Details for the file pyshout-0.2.1.tar.gz.

File metadata

  • Download URL: pyshout-0.2.1.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyshout-0.2.1.tar.gz
Algorithm Hash digest
SHA256 9736da43cbef0c89d0d89d81bf574bf19b797c3058f690a9a27632e4335cd4e7
MD5 97affbb488933637148725b340c37532
BLAKE2b-256 59040cf8df34e2e4914c253cff8071bc2f7ac20ae9ef8fe7685127f72127d9d1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page