{ "info": { "author": "Alan Yorinks", "author_email": "MisterYsLab@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Other Environment", "Intended Audience :: Developers", "Intended Audience :: Education", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Education", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: System :: Hardware" ], "description": "# The Python Banyan Framework\n\n\nThe Python Banyan Framework is a lightweight, reactive framework used to\ncreate flexible, non-blocking, event driven, asynchronous applications.\n\nPython Banyan comes with [full documentation](https://mryslab.github.io/python_banyan/#)\n that includes a [User's Guide](https://mryslab.github.io/python_banyan/#users_guide/) \n with hands-on examples, as well documentation for the\n [OneGPIO Project](https://mryslab.github.io/python_banyan/#gpio_intro/) \n that allows you to quickly and easily build reusable GPIO projects for the\n Arduino, ESP-8266, and Raspberry Pi.\n\nIt is being used by [Palace Games](https://www.raspberrypi.org/blog/raspberry-pi-escape-room/)\nto concurrently monitor hundreds of real-time sensors and actuators.\n\n* Based on a network connected Publish/Subscribe model, Banyan components publish \nuser defined protocol messages in the form of Python dictionaries.\n* A Banyan protocol message may contain Numpy data.\n* Applications may reside on a single computer or be distributed across \nmultiple computers without having to change source code.\n* Compatible Banyan Frameworks are available for [JavaScript](https://github.com/MrYsLab/js-banyan), [Ruby](https://github.com/MrYsLab/rb_banyan), and\n[Java](https://github.com/MrYsLab/javabanyan). Components written in any of these languages can interact with components of a differing language without modification.\n* Runs on Python 2 or Python 3 (recommended).\n\n\nTo install, view the full [installation instructions.](https://mryslab.github.io/python_banyan/install/#installing-python-banyan_1)\n\nA Simple Banyan Echo Server:\n\n```\nimport sys\nfrom python_banyan.banyan_base import BanyanBase\n\n\nclass EchoServer(BanyanBase):\n \"\"\"\n This class is a simple Banyan echo server\n \"\"\"\n def __init__(self, ):\n\n # initialize the parent\n super(EchoServer, self).__init__(process_name='EchoServer')\n\n # subscribe to receive 'echo' messages from the client\n self.set_subscriber_topic('echo')\n\n # wait for messages to arrive\n try:\n self.receive_loop()\n except KeyboardInterrupt:\n self.clean_up()\n sys.exit(0)\n\n def incoming_message_processing(self, topic, payload):\n \"\"\"\n Process incoming messages from the client\n :param topic: message topic\n :param payload: message payload\n \"\"\"\n # republish the message with a topic of reply\n self.publish_payload(payload, 'reply')\n\n # extract the message number from the payload\n print('Message number:', payload['message_number'])\n\n```\n\nA Simple Banyan Echo Client:\n\n```\nimport sys\nfrom python_banyan.banyan_base import BanyanBase\n\n\nclass EchoClient(BanyanBase):\n \"\"\"\n This is a simple echo client derived from the BanyanBase class. \n It sends out a series of messages and expects an\n echo reply from the server.\n \"\"\"\n\n def __init__(self):\n\n # initialize the parent\n super(EchoClient, self).__init__(process_name='EchoClient')\n\n # accept banyan messages with the topic of reply\n self.set_subscriber_topic('reply')\n\n # sequence number of messages and total number of messages to send\n self.message_number = self.number_of_messages = 10\n\n # send the first message - make sure that the server is already started\n self.publish_payload({'message_number': self.message_number}, 'echo')\n\n # get the reply messages\n try:\n self.receive_loop()\n except KeyboardInterrupt:\n self.clean_up()\n sys.exit(0)\n\n def incoming_message_processing(self, topic, payload):\n \"\"\"\n Process incoming messages received from the echo client\n :param topic: Message Topic string\n :param payload: Message Data\n \"\"\"\n\n # When a message is received and its number is zero, finish up.\n if payload['message_number'] == 0:\n print(str(self.number_of_messages) + ' messages sent and received. ')\n input('Press enter to exit.')\n self.clean_up()\n sys.exit(0)\n # bump the message number and send the message out\n else:\n self.message_number -= 1\n if self.message_number >= 0:\n self.publish_payload({'message_number': self.message_number}, 'echo')\n\n\n```\n\nThis project was developed with [Pycharm](https://www.jetbrains.com/pycharm/) ![logo](https://github.com/MrYsLab/python_banyan/blob/master/images/icon_PyCharm.png)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MrYsLab/python_banyan", "keywords": "python banyan,RPC,Remote Procedure Call,Event Driven,Asynchronous,Non-Blocking,Raspberry Pi,ZeroMQ,MessagePack,RedBot", "license": "GNU Affero General Public License v3 or later (AGPLv3+)", "maintainer": "", "maintainer_email": "", "name": "python-banyan", "package_url": "https://pypi.org/project/python-banyan/", "platform": "", "project_url": "https://pypi.org/project/python-banyan/", "project_urls": { "Homepage": "https://github.com/MrYsLab/python_banyan" }, "release_url": "https://pypi.org/project/python-banyan/3.6/", "requires_dist": [ "apscheduler", "msgpack-numpy", "msgpack-python", "numpy (>=1.9)", "psutil", "pyzmq", "websockets" ], "requires_python": "", "summary": "A Non-Blocking Event Driven Applications Framework", "version": "3.6" }, "last_serial": 5852574, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "505b2ddedb177b9b6429ed31f15d96a2", "sha256": "8ec4cf0f1b1286c7ec111e9683c27d5cb7e00892fe6cbb3b679877ed52695979" }, "downloads": -1, "filename": "python-banyan-1.0.tar.gz", "has_sig": false, "md5_digest": "505b2ddedb177b9b6429ed31f15d96a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5436, "upload_time": "2017-02-08T21:21:54", "url": "https://files.pythonhosted.org/packages/db/fc/4c885e8341d5d8550397c282f6f8ec20e3da7ad5e2ee681e83e047c20bc9/python-banyan-1.0.tar.gz" } ], "1.03": [ { "comment_text": "", "digests": { "md5": "40bd2994ee203b63d180fc3d35c83aae", "sha256": "2f7c0626b8831f122e6489ffad52cbd45e6d24805320064abf1d21175963623d" }, "downloads": -1, "filename": "python-banyan-1.03.tar.gz", "has_sig": false, "md5_digest": "40bd2994ee203b63d180fc3d35c83aae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5683, "upload_time": "2017-02-26T17:04:05", "url": "https://files.pythonhosted.org/packages/20/f7/40f11629d149afd3f43a55aae7476fa42581a970cf8d04cec1d3f37e1247/python-banyan-1.03.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "006a69509c531f252efbdba11bd6783a", "sha256": "9084ef619e842e0e984440b03987af0a7c12eb1c0ac9f6e2b7cb1108244862a9" }, "downloads": -1, "filename": "python-banyan-1.1.tar.gz", "has_sig": false, "md5_digest": "006a69509c531f252efbdba11bd6783a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5574, "upload_time": "2017-02-10T17:40:11", "url": "https://files.pythonhosted.org/packages/91/09/b1bd3dd7ffa83a2797f07500e5cc409dee0efb1ef4c9cb2341e67592878f/python-banyan-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "57b1f030baa8c94bfe14937052e2d352", "sha256": "34031ffa529051530ad34927ac5dd9d28d054341f652dec066c84fee52c639c1" }, "downloads": -1, "filename": "python-banyan-1.2.tar.gz", "has_sig": false, "md5_digest": "57b1f030baa8c94bfe14937052e2d352", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5611, "upload_time": "2017-02-10T18:44:30", "url": "https://files.pythonhosted.org/packages/df/95/759d4dee72f8ccb299b9f6164b446df75a70fb85a24cc31c0d7c1193c9be/python-banyan-1.2.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "b4d7302e3ec3c87f20e6ef73a57e76dc", "sha256": "3eb7cf2c371e132f4735aa8e75cc23188b9b42e3730e34c35e04eee117b0f628" }, "downloads": -1, "filename": "python-banyan-1.4.tar.gz", "has_sig": false, "md5_digest": "b4d7302e3ec3c87f20e6ef73a57e76dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5611, "upload_time": "2017-07-26T19:06:53", "url": "https://files.pythonhosted.org/packages/34/49/638bee6f5c8340339fa0501c44e0bbf6dbcae8690ee0f50365482dca318c/python-banyan-1.4.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "cae1e1e7c764b53727d2f88713988d79", "sha256": "65bd4b2b2a7b825eb4b9559cffe659e2a4d203ab8d3a2dad0d6c828c37e3fc54" }, "downloads": -1, "filename": "python-banyan-2.0.tar.gz", "has_sig": false, "md5_digest": "cae1e1e7c764b53727d2f88713988d79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11574, "upload_time": "2017-09-01T12:31:26", "url": "https://files.pythonhosted.org/packages/0a/80/a3938ae6a631465517106ede299e7d6ce1e09381c4a45fcd1292bd69be59/python-banyan-2.0.tar.gz" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "9db7eaa2050f56368f6b0f51d0965fbf", "sha256": "a49c85b161d8cc6bbf68a0c4e9bc714de94dd82411071a21987af065756a6117" }, "downloads": -1, "filename": "python-banyan-2.1.tar.gz", "has_sig": false, "md5_digest": "9db7eaa2050f56368f6b0f51d0965fbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11570, "upload_time": "2017-09-02T03:13:04", "url": "https://files.pythonhosted.org/packages/58/04/7a5470c3bd9baeb88e623baeb09e85b41c08b76b8712be8febd2b3399225/python-banyan-2.1.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "a7efe7f50312b8072b0bf0e77c761cb6", "sha256": "944d42ea6ddae164e30277cf304edf3d7714cb7f5fa12982a4cb50663e01992e" }, "downloads": -1, "filename": "python_banyan-2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a7efe7f50312b8072b0bf0e77c761cb6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22016, "upload_time": "2017-09-04T17:09:12", "url": "https://files.pythonhosted.org/packages/6b/b9/5e9a842c7d2f671d909a28ddcf8e326a99021774c9c52253e2862f636c0f/python_banyan-2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e56d316b606f226dc1a64f9ec9af6919", "sha256": "837902e49a9b1e7169e5e55b138548b1edccc5349a7f5219115b27f17ddd02df" }, "downloads": -1, "filename": "python-banyan-2.2.tar.gz", "has_sig": false, "md5_digest": "e56d316b606f226dc1a64f9ec9af6919", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11612, "upload_time": "2017-09-04T17:09:14", "url": "https://files.pythonhosted.org/packages/f5/03/8278efee0819248fc654389a73714e33981299c444630f37b5e3143b0d25/python-banyan-2.2.tar.gz" } ], "2.3": [ { "comment_text": "", "digests": { "md5": "8a244f07fa0e65a7fce61be249032cd3", "sha256": "fa2b0a977c3a825f8e31bc04c4b8f4d2cb28e7fa1fec493c06e03d71387a0816" }, "downloads": -1, "filename": "python_banyan-2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8a244f07fa0e65a7fce61be249032cd3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22268, "upload_time": "2018-01-04T22:29:13", "url": "https://files.pythonhosted.org/packages/9a/f5/54293c6882404a3c7cc524017c644354356527349e647d4645b05de01c60/python_banyan-2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "884d6069e3efa2a0142c433508eebbd2", "sha256": "6ecdf350559e8fa4bc85f004f9b6241e9e2b66e08a60bf5ad3eb4c3fe4e2eb6e" }, "downloads": -1, "filename": "python-banyan-2.3.tar.gz", "has_sig": false, "md5_digest": "884d6069e3efa2a0142c433508eebbd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11839, "upload_time": "2018-01-04T22:29:15", "url": "https://files.pythonhosted.org/packages/a4/92/4e9815c252b15af6afd8d96a03f4699c67a334aed83d62633a655ad76ee2/python-banyan-2.3.tar.gz" } ], "2.4": [ { "comment_text": "", "digests": { "md5": "78545fa2ae1439e83d99dd88bb82f7d4", "sha256": "4a566e5b085ca434b9e99663ebac775281e1299f8cc14151b37fe194588c4ff1" }, "downloads": -1, "filename": "python_banyan-2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "78545fa2ae1439e83d99dd88bb82f7d4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22430, "upload_time": "2018-01-27T15:29:51", "url": "https://files.pythonhosted.org/packages/76/47/4ef3e568641e00f3e74b91ae991094bc6c9359209bb074ed662b199631d7/python_banyan-2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4729010b417c852685ad481d1a888495", "sha256": "fce55c476301eca62535111916fcb9c22b7aaab02e242fe182e1c6143db8b23e" }, "downloads": -1, "filename": "python-banyan-2.4.tar.gz", "has_sig": false, "md5_digest": "4729010b417c852685ad481d1a888495", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11980, "upload_time": "2018-01-27T15:29:53", "url": "https://files.pythonhosted.org/packages/6f/80/fe38fbb95e67ceec0bbcc99e5dad83c6942c3e4d326625748405e4db3207/python-banyan-2.4.tar.gz" } ], "3.0": [ { "comment_text": "", "digests": { "md5": "174b4a833746ea43a65163ec79fa2544", "sha256": "6885e4e37a249ae91f1e0271c31a0c76d02b7cce66442bfedbdaf40c62009949" }, "downloads": -1, "filename": "python_banyan-3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "174b4a833746ea43a65163ec79fa2544", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30542, "upload_time": "2019-02-14T20:14:54", "url": "https://files.pythonhosted.org/packages/1d/34/36398c74b107c66682bf199ab905b942b82fbe2212baf508264786967907/python_banyan-3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c39c55eddd296d93cb95b2a97856976", "sha256": "84185cc42a8173c9352d787dc22e0bc47a30add61600253dce400ffd60af4b46" }, "downloads": -1, "filename": "python-banyan-3.0.tar.gz", "has_sig": false, "md5_digest": "0c39c55eddd296d93cb95b2a97856976", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18397, "upload_time": "2019-02-14T20:14:57", "url": "https://files.pythonhosted.org/packages/09/ad/6428f8c717d7889dfcabd3766622ce1c5ead23b1d80b40107086816496b1/python-banyan-3.0.tar.gz" } ], "3.1": [ { "comment_text": "", "digests": { "md5": "6727f44c3eba3e8b41d1644bc38c68c8", "sha256": "6b72c7551038e696e5012695b339b29362a5a7b05da9f0748cab2e6123476578" }, "downloads": -1, "filename": "python_banyan-3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6727f44c3eba3e8b41d1644bc38c68c8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 40111, "upload_time": "2019-03-06T21:42:06", "url": "https://files.pythonhosted.org/packages/eb/73/52d05704dde175d90bca49b6c5af5dc516db187ea3f082e000150ec7ee36/python_banyan-3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5ce520153a2059c8514275fef1cfd903", "sha256": "8e7c06b0b083f1f4addeef85b399aa7f03812888ceab327085ee9df8ee15270b" }, "downloads": -1, "filename": "python-banyan-3.1.tar.gz", "has_sig": false, "md5_digest": "5ce520153a2059c8514275fef1cfd903", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21848, "upload_time": "2019-03-06T21:42:10", "url": "https://files.pythonhosted.org/packages/7d/62/19888e75766b57d6ae9e1188c513df5e952c7548b63689ec836384dedd7a/python-banyan-3.1.tar.gz" } ], "3.2": [ { "comment_text": "", "digests": { "md5": "1741d1b684d3af2a7864093b09be4faf", "sha256": "44706d21b1201248c1c848ce660a7b17a27d9c8eda5d7265b99d7bdf778c9212" }, "downloads": -1, "filename": "python_banyan-3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1741d1b684d3af2a7864093b09be4faf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 40336, "upload_time": "2019-03-06T22:18:01", "url": "https://files.pythonhosted.org/packages/02/bb/d216ccd353a7b3c3f5398e453378a0f86a15e315b1e7bc2800bcca66a081/python_banyan-3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a95387cfafa1feed397d1ea9413e453a", "sha256": "0474fea0a1cf2823601d8300c80648f398d74ff4eeee5545af64612ba9de6513" }, "downloads": -1, "filename": "python-banyan-3.2.tar.gz", "has_sig": false, "md5_digest": "a95387cfafa1feed397d1ea9413e453a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21878, "upload_time": "2019-03-06T22:18:06", "url": "https://files.pythonhosted.org/packages/bb/6c/6d54db8347936f786522543ba551ab11d855e0dccf836a31616ebf89e2f4/python-banyan-3.2.tar.gz" } ], "3.3": [ { "comment_text": "", "digests": { "md5": "67ecb98826c30e480f20cf4207865c3e", "sha256": "82c67980d65d8226064bd93ad8c9311c511ae83039f186478c69530d5dc3e3e3" }, "downloads": -1, "filename": "python_banyan-3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "67ecb98826c30e480f20cf4207865c3e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 52787, "upload_time": "2019-05-05T17:52:56", "url": "https://files.pythonhosted.org/packages/91/7d/7616a7636a5024fc5c9ce7ee911f4d2ba2edd6aba131774beeae2a17970b/python_banyan-3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e7d19b5ce895c7ba9ff441b8c1fb0a7", "sha256": "64a424e8853139969612a4e6e9f00e10aabb03c1d92dc4787a327ddee7e80987" }, "downloads": -1, "filename": "python-banyan-3.3.tar.gz", "has_sig": false, "md5_digest": "3e7d19b5ce895c7ba9ff441b8c1fb0a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22975, "upload_time": "2019-05-05T17:53:01", "url": "https://files.pythonhosted.org/packages/77/2b/35262655686fdc340ffea48153714218a5c6e09d4449bf4915499b9e9d8d/python-banyan-3.3.tar.gz" } ], "3.4": [ { "comment_text": "", "digests": { "md5": "0d90a4233be2473413ab14edcda9717b", "sha256": "412fca599f200d5af96db4ae3e570df237fe58e9339b8eb57d2cc9ad7b0c67c0" }, "downloads": -1, "filename": "python_banyan-3.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0d90a4233be2473413ab14edcda9717b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 55478, "upload_time": "2019-06-23T12:51:44", "url": "https://files.pythonhosted.org/packages/ba/62/f7cdd297ab8323c8d8804262d91f9f1b4ef03bbab5c92d3bdeadef7d600f/python_banyan-3.4-py2.py3-none-any.whl" } ], "3.5": [ { "comment_text": "", "digests": { "md5": "609e9544e054a23628c863b387f507ef", "sha256": "62bb4b406738f6180147c5cd4f610867d86d74ddbbb9821f54fbfa95c8349228" }, "downloads": -1, "filename": "python_banyan-3.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "609e9544e054a23628c863b387f507ef", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 55483, "upload_time": "2019-07-14T17:51:27", "url": "https://files.pythonhosted.org/packages/04/ef/1c843ded085f551d36e8b825cf30a7810cdef629053e00fe7f65d7266af3/python_banyan-3.5-py2.py3-none-any.whl" } ], "3.6": [ { "comment_text": "", "digests": { "md5": "b77b504faadc98dc40c037c76ddc7d7e", "sha256": "9a0716df7440504ebf0b61805ad3911b178a7a79ef6bd5c81cd99d99d2336d16" }, "downloads": -1, "filename": "python_banyan-3.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b77b504faadc98dc40c037c76ddc7d7e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 55481, "upload_time": "2019-09-18T21:08:03", "url": "https://files.pythonhosted.org/packages/14/d5/491cb40e2003927e1c33a611b8d2bcbf2d13d1a402d8c975aa6dcdd3eca7/python_banyan-3.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2da372abb1392e2769c59d303542e080", "sha256": "add70c36693080a31e89829c49513f12cc09d52c7f63658a56fe5ac784a97a00" }, "downloads": -1, "filename": "python-banyan-3.6.tar.gz", "has_sig": false, "md5_digest": "2da372abb1392e2769c59d303542e080", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23929, "upload_time": "2019-09-18T21:12:35", "url": "https://files.pythonhosted.org/packages/b4/9f/2cb4b09c62eb7013255e1b441959d114982f2925df806cf4abf1e54ae3d8/python-banyan-3.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b77b504faadc98dc40c037c76ddc7d7e", "sha256": "9a0716df7440504ebf0b61805ad3911b178a7a79ef6bd5c81cd99d99d2336d16" }, "downloads": -1, "filename": "python_banyan-3.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b77b504faadc98dc40c037c76ddc7d7e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 55481, "upload_time": "2019-09-18T21:08:03", "url": "https://files.pythonhosted.org/packages/14/d5/491cb40e2003927e1c33a611b8d2bcbf2d13d1a402d8c975aa6dcdd3eca7/python_banyan-3.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2da372abb1392e2769c59d303542e080", "sha256": "add70c36693080a31e89829c49513f12cc09d52c7f63658a56fe5ac784a97a00" }, "downloads": -1, "filename": "python-banyan-3.6.tar.gz", "has_sig": false, "md5_digest": "2da372abb1392e2769c59d303542e080", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23929, "upload_time": "2019-09-18T21:12:35", "url": "https://files.pythonhosted.org/packages/b4/9f/2cb4b09c62eb7013255e1b441959d114982f2925df806cf4abf1e54ae3d8/python-banyan-3.6.tar.gz" } ] }