{ "info": { "author": "Matthias Urlichs", "author_email": "matthias@urlichs.de", "bugtrack_url": null, "classifiers": [], "description": "asyncserf\n=========\n\nasyncserf is an async Python interface to Serf, the decentralised solution\nfor service discovery and orchestration.\n\nIt uses `anyio ` as its underlying\nasync framework.\n\n.. image:: https://badge.fury.io/py/asyncserf.svg\n :alt: PyPI latest version badge\n :target: https://pypi.python.org/pypi/asyncserf\n.. image:: https://coveralls.io/repos/smurfix/asyncserf/badge.png?branch=master\n :alt: Code coverage badge\n :target: https://coveralls.io/r/smurfix/asyncserf?branch=master\n\nInstallation\n------------\n\nasyncserf requires a running Serf agent. See `Serf's agent documentation\n`_ for instructions.\n\nTo install asyncserf, run the following command:\n\n.. code-block:: bash\n\n $ pip install asyncserf\n\nor alternatively (you really should be using pip though):\n\n.. code-block:: bash\n\n $ easy_install asyncserf\n\nor from source:\n\n.. code-block:: bash\n\n $ python setup.py install\n\nGetting Started\n---------------\n\nThese examples require a running async loop.\n`Trio ` is recommended, though\n``asyncio`` works too.\n\n.. code-block:: python\n\n from asyncserf import serf_client\n\n async with serf_client() as client:\n await client.event('foo', 'bar')\n\nStream usage:\n\n.. code-block:: python\n\n from asyncserf import serf_client\n\n async with serf_client() as client:\n async with client.stream('*') as stream:\n async for resp in stream:\n print(resp)\n\nDevelopment\n------------\n\nYou can run the tests using the following commands:\n\n.. code-block:: bash\n\n $ serf agent --tag foo=bar & # start serf agent\n $ python3 -mpytest tests\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/smurfix/asyncserf", "keywords": "Serf", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "asyncserf", "package_url": "https://pypi.org/project/asyncserf/", "platform": "", "project_url": "https://pypi.org/project/asyncserf/", "project_urls": { "Homepage": "https://github.com/smurfix/asyncserf" }, "release_url": "https://pypi.org/project/asyncserf/0.15.3/", "requires_dist": null, "requires_python": "", "summary": "Python client for the Serf orchestration tool", "version": "0.15.3" }, "last_serial": 5730203, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "2989aa633c54e7ad5b229d210513520b", "sha256": "097e515a1239eefaef21e5fec40e03af3c476e982aeb803a2e37959f178d93b3" }, "downloads": -1, "filename": "asyncserf-0.10.0.tar.gz", "has_sig": false, "md5_digest": "2989aa633c54e7ad5b229d210513520b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40580, "upload_time": "2019-05-13T16:58:28", "url": "https://files.pythonhosted.org/packages/41/a0/45f79d7dabe7de34b606ef7b7670faae1bd7f8f77fc63897ba0fc5f916c5/asyncserf-0.10.0.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "1989d698eccf74e2e68b814e13f36106", "sha256": "d353daddb95385ab3ac39f159db743f4fac2967f16d7fd10780d99bd471f0a7a" }, "downloads": -1, "filename": "asyncserf-0.11.0.tar.gz", "has_sig": false, "md5_digest": "1989d698eccf74e2e68b814e13f36106", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41238, "upload_time": "2019-05-13T19:35:30", "url": "https://files.pythonhosted.org/packages/24/33/7cef2d60f2b41348f0993f479ae2dbdc6e3ae46a0a867a969ae72b5cb770/asyncserf-0.11.0.tar.gz" } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "a9adec2639ab1a5a1d89d49ec4acdf73", "sha256": "23ef940c693329d2a3b727419f5dc72807feabcef365e490f55b27d8ec585173" }, "downloads": -1, "filename": "asyncserf-0.12.0.tar.gz", "has_sig": false, "md5_digest": "a9adec2639ab1a5a1d89d49ec4acdf73", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41361, "upload_time": "2019-05-17T07:36:24", "url": "https://files.pythonhosted.org/packages/4b/7b/a85b45875e8567a60cec604c777f61c824f4fb2ab4f6322bba24f0577efa/asyncserf-0.12.0.tar.gz" } ], "0.13.0": [ { "comment_text": "", "digests": { "md5": "e885a0db0cfdcfe5d1c7feb87f1f6a7f", "sha256": "1143cca7a165afe711cd8f0847bb6b426037ec48d3b4f9aea630dd67239df6c5" }, "downloads": -1, "filename": "asyncserf-0.13.0.tar.gz", "has_sig": false, "md5_digest": "e885a0db0cfdcfe5d1c7feb87f1f6a7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42915, "upload_time": "2019-05-20T18:07:35", "url": "https://files.pythonhosted.org/packages/c5/07/1e32ea0134b99e7ee594864d0ceb2dfbd35362507f903e82c277b5efa6cf/asyncserf-0.13.0.tar.gz" } ], "0.13.2": [ { "comment_text": "", "digests": { "md5": "98d6c0b01433cb180bc326067939d5d8", "sha256": "b5f0eab1e6c2c6dc285ab41316c176aa3a6dc1f50ffc976d3098fe63f91cfa06" }, "downloads": -1, "filename": "asyncserf-0.13.2.tar.gz", "has_sig": false, "md5_digest": "98d6c0b01433cb180bc326067939d5d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41710, "upload_time": "2019-05-20T19:19:39", "url": "https://files.pythonhosted.org/packages/e0/d8/aa6b121c79a9664a3911022d932a8fc38db74237136526c7e0274a9c9ee6/asyncserf-0.13.2.tar.gz" } ], "0.14.0": [ { "comment_text": "", "digests": { "md5": "716926a03572af25c455bc1e7dc5e788", "sha256": "369219c9b38a751355e3540b30fa87af1e3a1c054fa670655d17b7dc8abf0ce4" }, "downloads": -1, "filename": "asyncserf-0.14.0.tar.gz", "has_sig": false, "md5_digest": "716926a03572af25c455bc1e7dc5e788", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41790, "upload_time": "2019-05-21T07:42:44", "url": "https://files.pythonhosted.org/packages/8e/3b/70a30f5a19719a4609172fc333a94b221ee30c24422adcf66eb434c3f21c/asyncserf-0.14.0.tar.gz" } ], "0.15.1": [ { "comment_text": "", "digests": { "md5": "27f1392be7d08c848842f9b88e8e682d", "sha256": "a70d646a9c4cd3817919554a8ba0a133f52329a229af34fc5077714c8a9f6df3" }, "downloads": -1, "filename": "asyncserf-0.15.1.tar.gz", "has_sig": false, "md5_digest": "27f1392be7d08c848842f9b88e8e682d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41905, "upload_time": "2019-07-10T12:12:42", "url": "https://files.pythonhosted.org/packages/24/3b/cb5a1c2805d67ce3207e3601c3773d3c8c2f325f48984c399c85e40cf984/asyncserf-0.15.1.tar.gz" } ], "0.15.2": [ { "comment_text": "", "digests": { "md5": "8160c6cc0d2d5d7e082a8070d77c581f", "sha256": "4e41d340f3ea77bf566a9257d007c9ed1bbc007fe76ad99fceff9e88b962dc2e" }, "downloads": -1, "filename": "asyncserf-0.15.2.tar.gz", "has_sig": false, "md5_digest": "8160c6cc0d2d5d7e082a8070d77c581f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41998, "upload_time": "2019-07-19T19:47:03", "url": "https://files.pythonhosted.org/packages/35/8c/cda6b5335960d4f57822c46ee5b8b7d5ff8721803b9f947771d37b5a0c91/asyncserf-0.15.2.tar.gz" } ], "0.15.3": [ { "comment_text": "", "digests": { "md5": "17bb135c107c3da345a30c45e691e250", "sha256": "713d2022012b106380208b08d3a5743f3c3bdd6bfa2171084395ffe7f75eeacd" }, "downloads": -1, "filename": "asyncserf-0.15.3.tar.gz", "has_sig": false, "md5_digest": "17bb135c107c3da345a30c45e691e250", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42184, "upload_time": "2019-08-26T10:58:29", "url": "https://files.pythonhosted.org/packages/78/17/c887c3885f7c3d245419f1d46678db91e5bccbf03fe2fa6d5399768cebae/asyncserf-0.15.3.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "3d8cc596f142d110e46daaec7aa1bb13", "sha256": "77bd27aee9625672a43c396e1cb4acf6f9b48878f6ff2f83d0f5da51838c1ecc" }, "downloads": -1, "filename": "asyncserf-0.5.1.tar.gz", "has_sig": false, "md5_digest": "3d8cc596f142d110e46daaec7aa1bb13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29269, "upload_time": "2019-04-21T06:28:05", "url": "https://files.pythonhosted.org/packages/c9/22/99fc1a7e200ff74e102422fecd40156a4919fbb3a3303b788d577384f7c2/asyncserf-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "b578f38d82bcf91a53576435cc548dd8", "sha256": "7c1156c9f59113b0346e225387dde843ffea9c1681eeca5d4f11a4ad653d459a" }, "downloads": -1, "filename": "asyncserf-0.6.0.tar.gz", "has_sig": false, "md5_digest": "b578f38d82bcf91a53576435cc548dd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29300, "upload_time": "2019-04-22T17:08:37", "url": "https://files.pythonhosted.org/packages/0c/71/20ca73eb5f75f01526720f2f32ab7ba298b440238bcf6d6b18b3b1f05c04/asyncserf-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "c904b25384777438735da65f6bf2c76c", "sha256": "4a4aa791fd232655143932c7808df2f62a36499eb05f97aa6966f4b5feafe2e6" }, "downloads": -1, "filename": "asyncserf-0.7.0.tar.gz", "has_sig": false, "md5_digest": "c904b25384777438735da65f6bf2c76c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38921, "upload_time": "2019-05-01T17:30:42", "url": "https://files.pythonhosted.org/packages/31/bd/da4f9fae84add19d5d05f5ca5817796618e4226dfd86a092be6d56f3d64d/asyncserf-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "b19246d1030f8a81bad26e55b221146f", "sha256": "0f22e724f006eb35eaf99459f28dde982670bb9f14783a6d7851338f2d88a937" }, "downloads": -1, "filename": "asyncserf-0.7.1.tar.gz", "has_sig": false, "md5_digest": "b19246d1030f8a81bad26e55b221146f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39202, "upload_time": "2019-05-02T10:45:51", "url": "https://files.pythonhosted.org/packages/20/37/5ce6558c6c01223dca820052b420dcf6e291fb85f06d4233b953a5bc93e3/asyncserf-0.7.1.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "eca41a67d55f216977abdb8a5c98a900", "sha256": "72ee91968e9ccfe497b583f569a4a383a4e8107b423dc864df3e39a009c63c52" }, "downloads": -1, "filename": "asyncserf-0.8.0.tar.gz", "has_sig": false, "md5_digest": "eca41a67d55f216977abdb8a5c98a900", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39530, "upload_time": "2019-05-09T10:27:55", "url": "https://files.pythonhosted.org/packages/78/ec/137cb7f0dd221b1bcb75c8dbeb8c8b5784562c2c67e1d3dc90d13e698bb6/asyncserf-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "92199068e81d8b38bc3b2d09cdf22f7c", "sha256": "5ea16071b965213326b7327ac6cbb1a125cd99acc5c90fd88e3ff68da5c4c4eb" }, "downloads": -1, "filename": "asyncserf-0.9.0.tar.gz", "has_sig": false, "md5_digest": "92199068e81d8b38bc3b2d09cdf22f7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40271, "upload_time": "2019-05-12T14:50:40", "url": "https://files.pythonhosted.org/packages/b3/32/5d116e89d59dd8ca248164f87d4865a92cf3c21d610815044703fad8cc09/asyncserf-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "67623f70dbc19d6b9043e0b1ac1ced1a", "sha256": "6f15dbf766ab3deec0118ba156af5193c385d0604fe2c06318af2351fae82cfd" }, "downloads": -1, "filename": "asyncserf-0.9.1.tar.gz", "has_sig": false, "md5_digest": "67623f70dbc19d6b9043e0b1ac1ced1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40292, "upload_time": "2019-05-12T16:32:45", "url": "https://files.pythonhosted.org/packages/7b/39/2e7671a99bbbb946bbd9eea8de0156bfc5773e76c1bbd4acf3e0ec145a53/asyncserf-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "684dbef382c4a6a91659e07a6e186735", "sha256": "0a42d4f161a1ed044f6d6086e806e444886d73e9a927669d5ce824fdcca7ea2d" }, "downloads": -1, "filename": "asyncserf-0.9.2.tar.gz", "has_sig": false, "md5_digest": "684dbef382c4a6a91659e07a6e186735", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42008, "upload_time": "2019-07-19T19:45:16", "url": "https://files.pythonhosted.org/packages/75/e5/72bbc2cd1595589496684c46da0566a67e6696395011bd4b933a546aee33/asyncserf-0.9.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "17bb135c107c3da345a30c45e691e250", "sha256": "713d2022012b106380208b08d3a5743f3c3bdd6bfa2171084395ffe7f75eeacd" }, "downloads": -1, "filename": "asyncserf-0.15.3.tar.gz", "has_sig": false, "md5_digest": "17bb135c107c3da345a30c45e691e250", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42184, "upload_time": "2019-08-26T10:58:29", "url": "https://files.pythonhosted.org/packages/78/17/c887c3885f7c3d245419f1d46678db91e5bccbf03fe2fa6d5399768cebae/asyncserf-0.15.3.tar.gz" } ] }