{ "info": { "author": "Justin Engel", "author_email": "jtengel08@gmail.com", "bugtrack_url": null, "classifiers": [ "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3" ], "description": "Interprocess Communication (IPC) Manager\n========================================\n\nInterprocess Communication (IPC) Manager to help create a Command structure for sending and receiving messages between processes.\n\n\nSimple Listener/Client\n----------------------\n.. code-block:: python\n\n # main.py\n import ipc_mngr\n\n def msg_handler(sock, cmd):\n \"\"\"Handle received commands.\n\n Args:\n sock (multiprocessing.connection.Client): Client socket that received the command.\n cmd (object): Command object that was received.\n \"\"\"\n print('Received Command:', cmd)\n\n listener = ipc_mngr.Listener(('127.0.0.1', 8111), authkey='12345')\n listener.msg_handler = msg_handler\n print(\"listening ...\")\n listener.listen() # Listen forever\n\n\n.. code-block:: python\n\n # send_cmd.py\n import ipc_mngr\n\n with ipc_mngr.Client(('127.0.0.1', 8111), authkey='12345') as client:\n # Send the command\n client.send(\"Hello World!\")\n\n\nSchedule Example\n----------------\nSee tests/schedule_run directory for how to use this as a permanent job scheduler.\n\n\nStream Audio Example\n--------------------\nSee tests/stream_audio directory for how to use the Streamer and StreamClient class.\n\n.. code-block:: python\n\n import ipc_mngr\n\n with ipc_mngr.Streamer(('127.0.0.1', 8222), authkey='12345') as streamer:\n while True:\n streamer.broadcast(1) # streamer.stream(1)\n\n\n.. code-block:: python\n\n import ipc_mngr\n import time\n\n SECONDS = 5\n data = []\n\n def save_data(client, value):\n data.append(value)\n\n with ipc_mngr.StreamClient(('127.0.0.1', 8222), authkey='12345') as client:\n start = time.time()\n client.stream_handler = save_data\n\n # Save data for 5 seconds\n while time.time() - start < SECONDS:\n time.sleep(1)\n\n print('Collected {} samples'.format(len(data)))", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/justengel/ipc_mngr/archive/v1.0.1.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/justengel/ipc_mngr", "keywords": "Interprocess Communication IPC", "license": "Proprietary", "maintainer": "", "maintainer_email": "", "name": "ipc-mngr", "package_url": "https://pypi.org/project/ipc-mngr/", "platform": "any", "project_url": "https://pypi.org/project/ipc-mngr/", "project_urls": { "Download": "https://github.com/justengel/ipc_mngr/archive/v1.0.1.tar.gz", "Homepage": "https://github.com/justengel/ipc_mngr" }, "release_url": "https://pypi.org/project/ipc-mngr/1.0.1/", "requires_dist": null, "requires_python": "", "summary": "Interprocess Communication (IPC) Manager to help create a Command structure for sending and receiving messages between processes.", "version": "1.0.1" }, "last_serial": 5650728, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "f0eeaae68a9c14e1dd71743a6aa780ce", "sha256": "742c351cc07cad9509b91bb465ee909c798e2699e2452b2d18d07be7f9e60ab9" }, "downloads": -1, "filename": "ipc_mngr-0.0.1.tar.gz", "has_sig": false, "md5_digest": "f0eeaae68a9c14e1dd71743a6aa780ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4346, "upload_time": "2019-06-28T15:24:56", "url": "https://files.pythonhosted.org/packages/a5/34/51a52048e84238cb99a629b7993ea5a4f766bd410b13d84e0918dfdd2d9e/ipc_mngr-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "2bc1eb054949b1625869d351b4973074", "sha256": "c88d4aebce7ad1d021dfc899e3ef5e867580358cdaca12f7728eaec568e165c4" }, "downloads": -1, "filename": "ipc_mngr-0.0.2.tar.gz", "has_sig": false, "md5_digest": "2bc1eb054949b1625869d351b4973074", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8882, "upload_time": "2019-07-25T01:45:52", "url": "https://files.pythonhosted.org/packages/ee/ee/5966a2b6f68fd89b466e7b89ca5e67759ee0d5900e0c6acbf33ff50a1486/ipc_mngr-0.0.2.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "743410f3a9c7424dc756951fa3b6e376", "sha256": "7e5a99a5293a9800c081d87b50b3ede770f7cd4878018a03660335f91fa0af1d" }, "downloads": -1, "filename": "ipc_mngr-1.0.0.tar.gz", "has_sig": false, "md5_digest": "743410f3a9c7424dc756951fa3b6e376", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9991, "upload_time": "2019-08-06T19:28:14", "url": "https://files.pythonhosted.org/packages/08/01/5b308df40802707a0263381e41177db1905beb294a58d7cb40241a984ad4/ipc_mngr-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "3f5b86c711d61680037e2a523c566f31", "sha256": "d53b1dd0b9c01ff584c108c9e23a9783166fc5239273a99bdab5550064f0837c" }, "downloads": -1, "filename": "ipc_mngr-1.0.1.tar.gz", "has_sig": false, "md5_digest": "3f5b86c711d61680037e2a523c566f31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10309, "upload_time": "2019-08-08T15:05:20", "url": "https://files.pythonhosted.org/packages/07/82/69a85136820365158c4355eb8085b7923dec0ee60646cc657f8dc48929a8/ipc_mngr-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3f5b86c711d61680037e2a523c566f31", "sha256": "d53b1dd0b9c01ff584c108c9e23a9783166fc5239273a99bdab5550064f0837c" }, "downloads": -1, "filename": "ipc_mngr-1.0.1.tar.gz", "has_sig": false, "md5_digest": "3f5b86c711d61680037e2a523c566f31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10309, "upload_time": "2019-08-08T15:05:20", "url": "https://files.pythonhosted.org/packages/07/82/69a85136820365158c4355eb8085b7923dec0ee60646cc657f8dc48929a8/ipc_mngr-1.0.1.tar.gz" } ] }