{
"info": {
"author": "Richard Terry",
"author_email": "code@radiac.net",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.2",
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Topic :: Communications :: Chat",
"Topic :: Games/Entertainment :: Multi-User Dungeons (MUD)",
"Topic :: Internet"
],
"description": "=======================================\nMara - Python network service framework\n=======================================\n\nAn event-based python framework designed for building TCP/IP services, such as\necho servers, flash policy servers, chatrooms, talkers and MUDs. Batteries\nincluded.\n\n* Project site: http://radiac.net/projects/mara/\n* Source code: https://github.com/radiac/mara\n\n.. image:: https://travis-ci.org/radiac/mara.svg?branch=master\n :target: https://travis-ci.org/radiac/mara\n\n.. image:: https://coveralls.io/repos/radiac/mara/badge.svg?branch=master&service=github\n :target: https://coveralls.io/github/radiac/mara?branch=master\n\n\nFeatures\n========\n\n* Event-based framework with support for timers\n* Supports raw sockets or telnet with negotiation\n* Supports seamless restarts while maintaining connections and state\n* Common extras included, such as:\n\n * command manager\n * storage system\n * natural language processing tools\n * accounts, login helpers and rooms\n\nVersion 0.6.3. Supports Python 2.7 and 3.2 to 3.6.\n\nSee the `Documentation `_\nfor details of how Mara works.\n\n\nQuickstart\n==========\n\nInstall Mara with ``pip install mara``, then write your service using\n`event handlers `_.\n\nA minimal Mara service looks something like this::\n\n from mara import Service, events\n service = Service()\n\n @service.listen(events.Receive)\n def receive(event):\n event.client.write(event.data)\n\n if __name__ == '__main__':\n service.run()\n\nSave it as ``echo.py`` and run it::\n\n python echo.py\n * Server listening on 127.0.0.1:9000\n\nOverride settings `in code `_,\nor by passing arguments on the command line::\n\n python echo.py --host=10.0.0.11 --port=8000\n * Server listening on 10.0.0.11:8000\n\nTake a look at the\n`examples `_ to see how to\nstart writing more complex services, or read the\n`documentation `_ for\ndetails of how Mara works.",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "http://richardterry.co.uk/projects/mara/",
"keywords": "socket telnet",
"license": "BSD",
"maintainer": "",
"maintainer_email": "",
"name": "mara",
"package_url": "https://pypi.org/project/mara/",
"platform": "",
"project_url": "https://pypi.org/project/mara/",
"project_urls": {
"Homepage": "http://richardterry.co.uk/projects/mara/"
},
"release_url": "https://pypi.org/project/mara/0.6.3/",
"requires_dist": null,
"requires_python": "",
"summary": "A framework for network services, talkers and MUDs",
"version": "0.6.3"
},
"last_serial": 4346677,
"releases": {
"0.4.0": [
{
"comment_text": "",
"digests": {
"md5": "bf863957f863b67df3deb51cc49f353b",
"sha256": "4d2fa8b98e831aac5aadefd4967b0482df589a62b2ee0f951e23d63ef2d5ca8c"
},
"downloads": -1,
"filename": "mara-0.4.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "bf863957f863b67df3deb51cc49f353b",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 14014,
"upload_time": "2015-11-22T13:05:36",
"url": "https://files.pythonhosted.org/packages/75/4b/9f51d2e34b391eae018df24f4bfb31b9fcdbbc723a7a4bac8f87c2e6430d/mara-0.4.0-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "409a208b9224155d66f1b626bc9a0085",
"sha256": "e2d2a4801e7265d7f46e4f4d3043e76b9b3f03f510766604a25d96b976acd324"
},
"downloads": -1,
"filename": "mara-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "409a208b9224155d66f1b626bc9a0085",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 39555,
"upload_time": "2015-11-22T13:05:44",
"url": "https://files.pythonhosted.org/packages/98/97/03d84a6c9dff19fc63094af2fc1d70e2066281feb9178fe01a69528f0a9e/mara-0.4.0.tar.gz"
}
],
"0.5.0": [
{
"comment_text": "",
"digests": {
"md5": "5d542675dfa715b4199565e25526ce12",
"sha256": "a9842dafbef82329debe618e2ee041fb4a41d69f8eba5f9bd78d85424742a8f7"
},
"downloads": -1,
"filename": "mara-0.5.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "5d542675dfa715b4199565e25526ce12",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 16724,
"upload_time": "2015-12-13T11:40:11",
"url": "https://files.pythonhosted.org/packages/ce/39/d2bb05962ed199df04d32ce48a4cecceba7a103ee874c6090586ce6f4823/mara-0.5.0-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "be5881c680696d2b71b256fdebe3a24c",
"sha256": "7d07987c06aed1c6b896f65d79a1da4053ecaad28f1291b48a710dfd8a84260e"
},
"downloads": -1,
"filename": "mara-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "be5881c680696d2b71b256fdebe3a24c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 52606,
"upload_time": "2015-12-13T11:40:18",
"url": "https://files.pythonhosted.org/packages/17/af/7f2504ca86122d030ac9384390dd7e9433de5c15b75fb0c538242097047e/mara-0.5.0.tar.gz"
}
],
"0.6.0": [
{
"comment_text": "",
"digests": {
"md5": "d1c8e31db0e5486dab69f2be2d50cd7b",
"sha256": "d1ac68a481820010dce9e0290e4b79674310c79fc5cca162d064a4417468c18b"
},
"downloads": -1,
"filename": "mara-0.6.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "d1c8e31db0e5486dab69f2be2d50cd7b",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 17332,
"upload_time": "2015-12-20T16:30:48",
"url": "https://files.pythonhosted.org/packages/b6/ac/edd529c87d9662bc6c76b3f7ab9a2a9b398f28a4a4d11a0f2c376dec230e/mara-0.6.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "9a5d4027efc44cf94d524d4281b2544a",
"sha256": "482e3d8269fc009672cc176a2cf824b8f7e3515839e7c92b25245509358d0a7a"
},
"downloads": -1,
"filename": "mara-0.6.0.tar.gz",
"has_sig": false,
"md5_digest": "9a5d4027efc44cf94d524d4281b2544a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 55601,
"upload_time": "2015-12-20T16:30:55",
"url": "https://files.pythonhosted.org/packages/42/ed/0c7628f6f2bfd53807eb883617a6dd92f3e3a24f8efe52ad87a2161afc34/mara-0.6.0.tar.gz"
}
],
"0.6.1": [
{
"comment_text": "",
"digests": {
"md5": "28cb1bc23928e79ee3e59ca4a4eb3099",
"sha256": "c1197833a2a51f654b8bf7edd5c2d145a5563dc246b8217675b64d3dd2c61195"
},
"downloads": -1,
"filename": "mara-0.6.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "28cb1bc23928e79ee3e59ca4a4eb3099",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 17533,
"upload_time": "2016-10-20T18:52:54",
"url": "https://files.pythonhosted.org/packages/b2/43/278ccc3bd1bc2e65a5cba54c5708f4cd1674f797afacb3ea2af02582bb25/mara-0.6.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "bf289af1dffbf97a3d96a0e1b24d1ba9",
"sha256": "7cd78ab15ce05ea683283c9f0b669798413d5acd46dad83e1a73884cfeaabf00"
},
"downloads": -1,
"filename": "mara-0.6.1.tar.gz",
"has_sig": false,
"md5_digest": "bf289af1dffbf97a3d96a0e1b24d1ba9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 54931,
"upload_time": "2016-10-20T18:52:57",
"url": "https://files.pythonhosted.org/packages/7e/f2/9a8ee2ccc5431fd980488c24f6a080d793228fe6d27f5f7dfce2c4e507dc/mara-0.6.1.tar.gz"
}
],
"0.6.2": [
{
"comment_text": "",
"digests": {
"md5": "db3bf1270dbaae9b8690b1f1eb84d99d",
"sha256": "73663eb96f497cca6ad0a9ccc10c83fa188cd6a32e1bd27690cf0e78777e45a4"
},
"downloads": -1,
"filename": "mara-0.6.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "db3bf1270dbaae9b8690b1f1eb84d99d",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 17535,
"upload_time": "2017-09-25T17:19:29",
"url": "https://files.pythonhosted.org/packages/e4/dd/07c8cab2fb5c614218d31f2dc1fdd2f2f527fef7400740d608fb3db87fcd/mara-0.6.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "2f31d2a168e73eebd2235ed07a15c7a0",
"sha256": "f10c80c598a40f1a5d29500f1c004bb1befd1282492aa5cfb07d729da1613247"
},
"downloads": -1,
"filename": "mara-0.6.2.tar.gz",
"has_sig": false,
"md5_digest": "2f31d2a168e73eebd2235ed07a15c7a0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 101488,
"upload_time": "2017-09-25T17:19:32",
"url": "https://files.pythonhosted.org/packages/98/80/684d790f360c6d948d5e261e79cb81fb550b8d032715fc8a953db0049ec4/mara-0.6.2.tar.gz"
}
],
"0.6.3": [
{
"comment_text": "",
"digests": {
"md5": "5d8ae25416dd1fa0952e9e623182d7c8",
"sha256": "616f4d24460b6dfc96a6aebf92f8ce073991e4907e069173b725efe32c1c54af"
},
"downloads": -1,
"filename": "mara-0.6.3.tar.gz",
"has_sig": false,
"md5_digest": "5d8ae25416dd1fa0952e9e623182d7c8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 101036,
"upload_time": "2018-10-06T07:20:41",
"url": "https://files.pythonhosted.org/packages/94/8f/cb05c2c193110d02409147483524dd98a52f94852b14a57a7dad6a870f80/mara-0.6.3.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "5d8ae25416dd1fa0952e9e623182d7c8",
"sha256": "616f4d24460b6dfc96a6aebf92f8ce073991e4907e069173b725efe32c1c54af"
},
"downloads": -1,
"filename": "mara-0.6.3.tar.gz",
"has_sig": false,
"md5_digest": "5d8ae25416dd1fa0952e9e623182d7c8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 101036,
"upload_time": "2018-10-06T07:20:41",
"url": "https://files.pythonhosted.org/packages/94/8f/cb05c2c193110d02409147483524dd98a52f94852b14a57a7dad6a870f80/mara-0.6.3.tar.gz"
}
]
}