{
"info": {
"author": "Krys Lawrence",
"author_email": "m4us@krys.ca",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: GNU Affero General Public License v3",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 2.6",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 2 :: Only",
"Topic :: Software Development :: Libraries :: Application Frameworks",
"Topic :: Software Development :: Libraries :: Python Modules"
],
"description": ".. This file is part of Message For You Sir (m4us).\n.. Copyright (C) 2009-2012 Krys Lawrence\n..\n.. Message For You Sir is free software: you can redistribute it and/or modify\n.. it under the terms of the GNU Affero General Public License as published by\n.. the Free Software Foundation, either version 3 of the License, or (at your\n.. option) any later version.\n..\n.. Message For You Sir is distributed in the hope that it will be useful, but\n.. WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n.. or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public\n.. License for more details.\n..\n.. You should have received a copy of the GNU Affero General Public License\n.. along with Message For You Sir. If not, see .\n\n###########################\nMessage For You Sir! (m4us)\n###########################\n\n.. contents::\n\n.. about\n\nAbout\n=====\n\n*Message For You Sir!* (m4us) is a coroutine-based concurrent programming\nlibrary and framework for Python_. It is heavily inspired by the `BBC\nResearch`_'s brilliant Kamaelia_ project. In fact, it largely intends to be a\nreimplementation of most of Kamaelia_'s core concepts, but be based on Python_\ncoroutines instead of generators. It also aims to be cleaner and simpler.\n\n.. features\n\nFeatures\n========\n\n* Provides coroutine-based inbox/outbox message-passing programming style.\n* Provides simple event loop and message routing mechanisms.\n* Provides single-thread and thread-based concurrency.\n* Promotes loose-coupling and component-based program design.\n* Excellent for pipeline-style data transformation systems.\n* Supports publish/subscribe style message distribution.\n* Works with both plain Python_ 2.6+ coroutines (``value = (yield)``) and\n class-based components.\n* Much more pythonic than Kamaelia_ and with less magic.\n* Clearly defined interfaces for all objects.\n* Complete API documentation and very clean source code.\n* Extensible with custom schedulers, post offices, message filters, etc.\n* Extensible with zope.interface_ adapters and custom interface\n implementations.\n* Easy to extend to support distributed computing.\n* 100% line test coverage and almost 100% branch test coverage.\n* Currently implements equivalents to Kamaelia_'s *Component*,\n *ThreadedComponent*, *Scheduler*, *Pipeline*, *Graphline*, and *Backplane*.\n* Provides several convenience functions and decorators to make creating\n common coroutine types easy.\n\n.. status\n\nStatus\n======\n\nThis project is very young and the code should be considered *Alpha* quality.\nIt has been minimally tested on Linux and Windows, under Python_ 2.6, but has\nnot yet been seriously tested on any platform. That said, it does have an\nextensive test suite with almost 100% branch test coverage.\n\nYou are welcome to use this project if you like it, and contributions are\ncertainly welcome, but if you are looking for a better supported project with a\nstrong community, then Kamaelia_ is a the more responsible choice.\n\n.. installation\n\nInstallation\n============\n\nThe easiest way to install this distribution is::\n\n pip install m4us\n\nor::\n\n easy_install m4us\n\n.. basic_usage\n\nBasic Usage\n===========\n\nDocumentation is still lacking. For now see `A Simple Example`_\n|(in docs/example.py)| for a simple example.\n\nSee also the integration tests for additional examples.\n\n.. documentation_and_support\n\nDocumentation and Support\n=========================\n\n**Home page:**\n http://pypi.python.org/pypi/m4us\n**Downloads:**\n http://pypi.python.org/pypi/m4us#downloads\n**Documentation:**\n http://packages.python.org/m4us\n**Bug/issue tracker:**\n http://bitbucket.org/krys/m4us/issues\n**Source code repository:**\n http://bitbucket.org/krys/m4us\n\n.. contributing\n\nContributing\n============\n\nThere is always room for improvement in this project and contributions are\ncertainly welcome. The easiest way to contribute is simply to file a bug\nreport in the `issue tracker`_ whenever you find a problem or want to suggest\nan improvement.\n\nIf you would like to participate in a more substantial way, check out the\n`issue tracker`_ and the `To Do Items Index`_ |(in docs/source/todo.rst)| to\nfind out about the work still needs to be done.\n\n.. NOTE::\n\n If you submit a bug report, patch or other code, you automatically agree to\n licence the contribution. See the `Licensing Information`_ |(in LICENCE)|\n for details on contribution licensing.\n\n.. licence\n\nLicence\n=======\n\n*Message For You Sir!* is licensed under the `GNU Affero General Public License\nversion 3`_ or later (AGPLv3+). This is free software: you are free to change\nand redistribute it under certain conditions. There is NO WARRANTY, to the\nextent permitted by law. For full licensing information, see the `Licensing\nInformation`_ |(in LICENCE)|.\n\n.. credits\n\nCredits\n=======\n\n*m4us* was created by Krys Lawrence .\n\nThis project is greatly inspired by Kamaelia_. Special thanks goes to the\nauthors of that project.\n\n.. end\n\n.. If you are reading this file in text form, you can ignore everything below.\n.. ----------------------------------------------------------------------------\n\n.. These are hacks get around the fact that PyPI does not properly render links\n.. in substitutions.\n.. |(in docs/example.py)| replace:: \\ \\\n.. |(in docs/source/todo.rst)| replace:: \\ \\\n.. |(in LICENCE)| replace:: \\ \\\n\n.. _A Simple Example: http://packages.python.org/m4us/example.html\n.. _To Do Items Index: http://packages.python.org/m4us/todo.html\n.. _Licensing Information: http://packages.python.org/m4us/licence.html\n\n.. links\n\n.. _Python: http://python.org\n.. _BBC Research: http://www.bbc.co.uk/rd/index.shtml\n.. _Kamaelia: http://www.kamaelia.org/\n.. _zope.interface: http://pypi.python.org/pypi/zope.interface\n.. _issue tracker: http://bitbucket.org/krys/m4us/issues\n.. _GNU Affero General Public License version 3:\n http://www.gnu.org/licenses/agpl.html",
"description_content_type": null,
"docs_url": "https://pythonhosted.org/m4us/",
"download_url": "http://pypi.python.org/pypi/m4us#downloads",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "http://pypi.python.org/pypi/m4us",
"keywords": "m4us concurrency coroutine kamaelia framework message",
"license": "UNKNOWN",
"maintainer": null,
"maintainer_email": null,
"name": "m4us",
"package_url": "https://pypi.org/project/m4us/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/m4us/",
"project_urls": {
"Download": "http://pypi.python.org/pypi/m4us#downloads",
"Homepage": "http://pypi.python.org/pypi/m4us"
},
"release_url": "https://pypi.org/project/m4us/0.3.0/",
"requires_dist": null,
"requires_python": null,
"summary": "A pythonic coroutine-based concurrent programming framework inspired by Kamaelia.",
"version": "0.3.0"
},
"last_serial": 794435,
"releases": {
"0.1": [
{
"comment_text": "",
"digests": {
"md5": "45a7ebf2b95ed9553445f0b059c399fc",
"sha256": "c7f4266644149bef89faf6e644a4a96dc961996475a5c77b4117ffb095ffb8a9"
},
"downloads": -1,
"filename": "m4us-0.1.tar.gz",
"has_sig": false,
"md5_digest": "45a7ebf2b95ed9553445f0b059c399fc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 135753,
"upload_time": "2010-12-21T06:25:26",
"url": "https://files.pythonhosted.org/packages/82/a1/e252adfa48ca10f90b5b7690847a08745b2b75477e7a78d134cfbdbfc293/m4us-0.1.tar.gz"
}
],
"0.1.1": [
{
"comment_text": "",
"digests": {
"md5": "a7ca41689f38d94b3c239c2273c0ff29",
"sha256": "f48be518bec2a905046068b8494265da473bab6b61d4464152651d4e03b54a0d"
},
"downloads": -1,
"filename": "m4us-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "a7ca41689f38d94b3c239c2273c0ff29",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 447597,
"upload_time": "2010-12-21T07:04:16",
"url": "https://files.pythonhosted.org/packages/ad/b7/25ea8267b8f7d4b7b19da8e4fe9f0ca4362745ebb227b017bb9ae532f5e1/m4us-0.1.1.tar.gz"
}
],
"0.2": [
{
"comment_text": "",
"digests": {
"md5": "1d57c9f6a1b0fcc7e21804fc24fd04f8",
"sha256": "c45876af7ff020e816753a9dea8882370335c72b5fea87c9b71a3e655d5ae894"
},
"downloads": -1,
"filename": "m4us-0.2.tar.gz",
"has_sig": false,
"md5_digest": "1d57c9f6a1b0fcc7e21804fc24fd04f8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 466754,
"upload_time": "2011-04-19T03:19:23",
"url": "https://files.pythonhosted.org/packages/d9/fc/03cfec188d82bc0ff2eaafcc06eeefaf0f708ed4f2e4f1413cd179262bac/m4us-0.2.tar.gz"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "db9ea58889df613c581d7f1da883d60c",
"sha256": "5faf48b65375218f3d9c169e90463b12a3c3542e72a6907ccd803e6fc9c66b85"
},
"downloads": -1,
"filename": "m4us-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "db9ea58889df613c581d7f1da883d60c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 467475,
"upload_time": "2012-02-08T06:15:58",
"url": "https://files.pythonhosted.org/packages/17/b6/e42ee344f1609fbd5431322facb3ff6a59a5c3b821d68657cb772bd4f723/m4us-0.2.1.tar.gz"
}
],
"0.3.0": [
{
"comment_text": "",
"digests": {
"md5": "6e2b801acd2c13b552b76f86608b9948",
"sha256": "2efc62fcddaa4937d7582648441273e52541e0390ee49d4d2432024beb78cd37"
},
"downloads": -1,
"filename": "m4us-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "6e2b801acd2c13b552b76f86608b9948",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 549306,
"upload_time": "2012-02-23T01:21:29",
"url": "https://files.pythonhosted.org/packages/d4/5c/f4e6fa4f3fa083899f5ad86cdf444de4375e0e1bb3b19d1818781f0e6cfb/m4us-0.3.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "6e2b801acd2c13b552b76f86608b9948",
"sha256": "2efc62fcddaa4937d7582648441273e52541e0390ee49d4d2432024beb78cd37"
},
"downloads": -1,
"filename": "m4us-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "6e2b801acd2c13b552b76f86608b9948",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 549306,
"upload_time": "2012-02-23T01:21:29",
"url": "https://files.pythonhosted.org/packages/d4/5c/f4e6fa4f3fa083899f5ad86cdf444de4375e0e1bb3b19d1818781f0e6cfb/m4us-0.3.0.tar.gz"
}
]
}