{ "info": { "author": "Ryan Northey", "author_email": "ryan@3ca.org.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Detailed documentation\n**********************\n\naio.manhole.server\n==================\n\nManhole server for the aio_ asyncio framework\n\n.. _aio: https://github.com/phlax/aio\n\n\n\nBuild status\n------------\n\n.. image:: https://travis-ci.org/phlax/aio.manhole.server.svg?branch=master\n\t :target: https://travis-ci.org/phlax/aio.manhole.server\n\n\nInstallation\n------------\n\nRequires python >= 3.4\n\nInstall with:\n\n.. code:: bash\n\n\t pip install aio.manhole.server\n\n\t \nQuick start - Manhole server\n----------------------------\n\nSave the following into a file \"manhole.conf\"\n\n.. code:: ini\n\n\t [server/my_manhole_server]\n\t factory = aio.manhole.server.factory\n\t port = 7373\n\n\t \nRun with the aio run command\n\n.. code:: bash\n\n\t aio run -c manhole.conf\n\nYou should now be able to telnet into the running server on port 7373\n\n\n\naio.manhole.server usage\n------------------------\n\n\nConfiguration\n-------------\n\nLets create a manhole configuration\n \n>>> config = \"\"\"\n... [aio]\n... log_level = ERROR\n... \n... [server/server_name]\n... factory = aio.manhole.server.factory\n... port = 7373\n... \n... \"\"\" \n\n>>> import sys\n>>> import io\n>>> import aiomanhole\n\n>>> import aio.testing\n>>> import aio.app\n>>> from aio.app.runner import runner\n\nWhen we run the manhole server, its accessible as \"server_name\" from aio.app.servers\n\n>>> @aio.testing.run_forever(sleep=1)\n... def run_manhole_server(config):\n... yield from runner(['run'], config_string=config)\n... \n... def call_manhole():\n... print(aio.app.servers[\"server_name\"])\n... aio.app.clear()\n... \n... return call_manhole\n\n>>> run_manhole_server(config)\n\n\nLets try calling the manhole server\n\n>>> import asyncio\n>>> import telnetlib3\n\n>>> @aio.testing.run_forever(sleep=1)\n... def run_manhole_server(config):\n... yield from runner(['run'], config_string=config)\n... \n... class TestTelnetClient(telnetlib3.TelnetClient):\n... \n... def data_received(self, data):\n... print(data)\n... \n... def call_manhole():\n... loop = asyncio.get_event_loop()\n... transport, protocol = yield from loop.create_connection(\n... TestTelnetClient, \"127.0.0.1\", 7373)\n... aio.app.clear()\n... \n... return call_manhole\n\n>>> run_manhole_server(config)\nb'hello...\\n>>> '", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/phlax/aio.manhole.server", "keywords": "", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "aio.manhole.server", "package_url": "https://pypi.org/project/aio.manhole.server/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/aio.manhole.server/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/phlax/aio.manhole.server" }, "release_url": "https://pypi.org/project/aio.manhole.server/0.0.2/", "requires_dist": null, "requires_python": null, "summary": "Manhole server for the aio asyncio framework", "version": "0.0.2" }, "last_serial": 1561803, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "c9ca50fe400d849555a8d3f549209e9a", "sha256": "521575f7e30719be8bf2b951f8e5adb5a1d4d5b63839fb7c97e87d5c3b4e4e5c" }, "downloads": -1, "filename": "aio.manhole.server-0.0.1.tar.gz", "has_sig": false, "md5_digest": "c9ca50fe400d849555a8d3f549209e9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3113, "upload_time": "2015-05-25T14:23:15", "url": "https://files.pythonhosted.org/packages/79/2c/0e0d197f6474e5645142d96df1b5f7fcf896a6354904e3488eaf06c3dd4d/aio.manhole.server-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "a150a965507597ca53fede997120d9cf", "sha256": "0c85edc251a759441c93ba23a4b38dc4b96e954991d783ef2b06c36c517c35a3" }, "downloads": -1, "filename": "aio.manhole.server-0.0.2.tar.gz", "has_sig": false, "md5_digest": "a150a965507597ca53fede997120d9cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3119, "upload_time": "2015-05-25T18:15:58", "url": "https://files.pythonhosted.org/packages/bf/91/97150fee8d29b027dac8abf5f6f97af7cf6c514801ff0388b0c569420a4e/aio.manhole.server-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a150a965507597ca53fede997120d9cf", "sha256": "0c85edc251a759441c93ba23a4b38dc4b96e954991d783ef2b06c36c517c35a3" }, "downloads": -1, "filename": "aio.manhole.server-0.0.2.tar.gz", "has_sig": false, "md5_digest": "a150a965507597ca53fede997120d9cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3119, "upload_time": "2015-05-25T18:15:58", "url": "https://files.pythonhosted.org/packages/bf/91/97150fee8d29b027dac8abf5f6f97af7cf6c514801ff0388b0c569420a4e/aio.manhole.server-0.0.2.tar.gz" } ] }