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.3.tar.gz (5.1 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for pyshout-0.2.3.tar.gz
Algorithm Hash digest
SHA256 8dff905d7a2683f61e12e645e9e3c8a3a25b0e9ecf6e82ed2fe4aca1bb1d5897
MD5 988a9295eac490dee0e2d78ef387a332
BLAKE2b-256 f49ce06fe6883b208d2f61eae41793b7fd27596238eb6c26724ff7e2a313abcc

See more details on using hashes here.

Supported by

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