{ "info": { "author": "Jaime Wyant", "author_email": "programmer.py@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "\nsimple-pyms: Python Microservices Without The Headaches\n=======================================================\n\nSimple PyMS (SPMS) provides base class abstractions for a very simple \nmicroservice architecture. Currently SPMS provides a baseline component that \nsends heartbeats and a monitor component that tracks microservices and their \nstatuses based on these heartbeats.\n\nThe WAMP protocol is used to handle message brokering and RPC. So, to use PyMS\nyou will need a\n[WAMP router](https://wamp-proto.org/implementations/index.html#routers) such\nas [crossbar.io](https://crossbar.io/).\n\nWhat Does It Do?\n----------------\nSPMS makes creating microservices (WAMP Components) and monitoring them easy.\nThere are two components to deal with - Monitor and Microservice. Monitor\nmonitors Service instances.\n\nSo, create a single Monitor instance and one or more Microservice instances.\nConnect them to the router and you have a poor man's microservice architecture. \n\nConfiguring Your Wamp Router\n----------------------------\n\nTo configure your wamp router, you will need to setup roles for your components.\nEach microservice component will need to have permissions setup properly for\nthe microservice uri: `py.ms.*`\n\n permissions:\n # Microservice activities\n - uri: py.ms\n match: prefix\n allow:\n call: true\n register: true\n publish: true\n subscribe: true\n\nCreating A Simple Component\n---------------------------\n\n```python\n\nfrom simplepyms.microservice import mk_component\nfrom autobahn.twisted.component import run\ncomponent = mk_component('component-name', 'ws://localhost:8080/ws', 'realm')\nrun(component)\n```\n\nThe code above creates a component that has stop, restart and heartbeat \nnotification built in. Add functionality to make your component more \nmeaningful.\n\n```python\n\nfrom simplepyms.microservice import mk_component\nfrom autobahn.twisted.component import run\ncomponent = mk_component('component-name', 'ws://localhost:8080/ws', 'realm')\n\n@component.register('py.ms.add')\ndef add(a, b):\n return a + b\n\nrun(component)\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": "", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "simple-pyms", "package_url": "https://pypi.org/project/simple-pyms/", "platform": "", "project_url": "https://pypi.org/project/simple-pyms/", "project_urls": null, "release_url": "https://pypi.org/project/simple-pyms/0.2.0/", "requires_dist": [ "incremental (>=17.5.0)", "psutil (>=5.4.6)", "pyhamcrest (>=1.9.0)", "six (>=1.11.0)", "twisted (>=18.7.0)", "txaio (>=18.7.1)", "zope.interface (>=4.5.0); python_version != \"3.1.*\"", "pywin32 (>=223); sys_platform == \"win32\"", "attrs (>=18.1.0)", "autobahn (>=18.7.1)", "automat (>=0.7.0)", "constantly (>=15.1.0)", "hyperlink (>=18.0.0)", "idna (>=2.7)" ], "requires_python": "", "summary": "Microservices Without Headaches", "version": "0.2.0" }, "last_serial": 4134022, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "9c9373391b5f34e48b112a3e6447d607", "sha256": "7bdc6853f085d8268dec8a6d4eb2689e947b60f54da0bf3374c76f2e0c12f1d8" }, "downloads": -1, "filename": "simple_pyms-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9c9373391b5f34e48b112a3e6447d607", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5748, "upload_time": "2018-08-03T20:46:44", "url": "https://files.pythonhosted.org/packages/52/5d/95258a7bd5005e717d3334c3aaf9d56d2e4f6094062d8859e8e57b11943f/simple_pyms-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "79327ce26a63c02bc49975ab45a7a678", "sha256": "6d9a3dce9c03a20bf7536b6885f99de8721c610cb79f34c702a9e55e394f5284" }, "downloads": -1, "filename": "simple-pyms-0.2.0.tar.gz", "has_sig": false, "md5_digest": "79327ce26a63c02bc49975ab45a7a678", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5319, "upload_time": "2018-08-03T20:46:45", "url": "https://files.pythonhosted.org/packages/06/4e/7c62c849aece75fb9f6973cdfe4f40762818d541bd84a5b1438c2fb5ff6a/simple-pyms-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9c9373391b5f34e48b112a3e6447d607", "sha256": "7bdc6853f085d8268dec8a6d4eb2689e947b60f54da0bf3374c76f2e0c12f1d8" }, "downloads": -1, "filename": "simple_pyms-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9c9373391b5f34e48b112a3e6447d607", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5748, "upload_time": "2018-08-03T20:46:44", "url": "https://files.pythonhosted.org/packages/52/5d/95258a7bd5005e717d3334c3aaf9d56d2e4f6094062d8859e8e57b11943f/simple_pyms-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "79327ce26a63c02bc49975ab45a7a678", "sha256": "6d9a3dce9c03a20bf7536b6885f99de8721c610cb79f34c702a9e55e394f5284" }, "downloads": -1, "filename": "simple-pyms-0.2.0.tar.gz", "has_sig": false, "md5_digest": "79327ce26a63c02bc49975ab45a7a678", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5319, "upload_time": "2018-08-03T20:46:45", "url": "https://files.pythonhosted.org/packages/06/4e/7c62c849aece75fb9f6973cdfe4f40762818d541bd84a5b1438c2fb5ff6a/simple-pyms-0.2.0.tar.gz" } ] }