Package: m4us
ContentsAboutFeaturesStatusInstallationBasic UsageDocumentation and SupportContributingLicenceCreditsAboutMessage For You Sir!(m4us) is a coroutine-based concurrent programming
library and framework forPython.  It is heavily inspired by theBBC
Research’s brilliantKamaeliaproject.  In fact, it largely intends to be a
reimplementation of most ofKamaelia’s core concepts, but be based onPythoncoroutines instead of generators.  It also aims to be cleaner and simpler.FeaturesProvides coroutine-based inbox/outbox message-passing programming style.Provides simple event loop and message routing mechanisms.Provides single-thread and thread-based concurrency.Promotes loose-coupling and component-based program design.Excellent for pipeline-style data transformation systems.Supports publish/subscribe style message distribution.Works with both plainPython2.6+ coroutines (value = (yield)) and
class-based components.Much more pythonic thanKamaeliaand with less magic.Clearly defined interfaces for all objects.Complete API documentation and very clean source code.Extensible with custom schedulers, post offices, message filters, etc.Extensible withzope.interfaceadapters and custom interface
implementations.Easy to extend to support distributed computing.100% line test coverage and almost 100% branch test coverage.Currently implements equivalents toKamaelia’sComponent,ThreadedComponent,Scheduler,Pipeline,Graphline, andBackplane.Provides several convenience functions and decorators to make creating
common coroutine types easy.StatusThis project is very young and the code should be consideredAlphaquality.
It has been minimally tested on Linux and Windows, underPython2.6, but has
not yet been seriously tested on any platform.  That said, it does have an
extensive test suite with almost 100% branch test coverage.You are welcome to use this project if you like it, and contributions are
certainly welcome, but if you are looking for a better supported project with a
strong community, thenKamaeliais a the more responsible choice.InstallationThe easiest way to install this distribution is:pip install m4usor:easy_install m4usBasic UsageDocumentation is still lacking.  For now seeA Simple Examplefor a simple example.See also the integration tests for additional examples.Documentation and SupportHome page:http://pypi.python.org/pypi/m4usDownloads:http://pypi.python.org/pypi/m4us#downloadsDocumentation:http://packages.python.org/m4usBug/issue tracker:http://bitbucket.org/krys/m4us/issuesSource code repository:http://bitbucket.org/krys/m4usContributingThere is always room for improvement in this project and contributions are
certainly welcome.  The easiest way to contribute is simply to file a bug
report in theissue trackerwhenever you find a problem or want to suggest
an improvement.If you would like to participate in a more substantial way, check out theissue trackerand theTo Do Items Indexto
find out about the work still needs to be done.NoteIf you submit a bug report, patch or other code, you automatically agree to
licence the contribution.  See theLicensing Informationfor details on contribution licensing.LicenceMessage For You Sir!is licensed under theGNU Affero General Public License
version 3or later (AGPLv3+).  This is free software: you are free to change
and redistribute it under certain conditions.  There is NO WARRANTY, to the
extent permitted by law.  For full licensing information, see theLicensing
Information.Creditsm4uswas created by Krys Lawrence <m4us at krys ca>.This project is greatly inspired byKamaelia.  Special thanks goes to the
authors of that project.