{ "info": { "author": "Bogdan Popa", "author_email": "bogdan@cleartype.io", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Topic :: System :: Distributed Computing" ], "description": "# dramatiq_dashboard\n\nA dashboard for [dramatiq], specific to its Redis broker (sorry\nRabbitMQ users!). Very alpha stuff.\n\nIt comes in the form of a WSGI middleware, with as few dependencies as\npossible (`dramatiq`, `jinja2` and `redis`) so it's super easy to plug\ninto whatever web application you have.\n\n![screencast](https://media.defn.io/dramatiq-dashboard-screencast.gif)\n\n## Installation\n\n pip install dramatiq_dashboard\n\n## Supporting the Project\n\nIf you use and love Dramatiq and want to make sure it gets the love\nand attention it deserves then you should consider supporting the\nproject. There are three ways in which you can do this right now:\n\n1. If you're a company that uses Dramatiq in production then you can\n get a [Tidelift] subscription. Doing so will give you an easy\n route to supporting both Dramatiq and other open source projects\n that you depend on.\n2. If you're an individual or a company that doesn't want to go\n through Tidelift then you can support the project via [Patreon].\n3. If you're a company and neither option works for you and you would\n like to receive an invoice from me directly then email me at\n bogdan@defn.io and let's talk.\n\n[Tidelift]: https://tidelift.com/subscription/pkg/pypi-dramatiq?utm_source=pypi-dramatiq&utm_medium=referral&utm_campaign=readme\n[Patreon]: https://patreon.com/popabogdanp\n\n## Quickstart\n\n#### Run the dashboard on top of an existing WSGI app\n\n```python\n# Assuming at some point you instantiate your app.\napp = create_wsgi_application()\n\n# Import the library, create the middleware and wrap your app with it.\nimport dramatiq_dashboard\n\ndashboard_middleware = dramatiq_dashboard.make_wsgi_middleware(\"/drama\")\napp = dashboard_middleware(app)\n```\n\nRun your app, visit `/drama` and you should see the dashboard.\n\n#### Run the dashboard as a standalone webserver\n\nIf you don't want to wrap an existing WSGI app, you can also run the\ndashboard as a standalone server. Install the WSGI server of your\nchoice (e.g. uWSGi, gunicorn, bjoern, etc), setup the Redis broker,\nand then start `DashboardApp` directly.\n\nFor example, to serve the dashboard on `http://127.0.0.1:8080` using\nthe `bjoern` WSGI server and a redis server on `17.0.0.1:6379`, run\nthe following:\n\n```python\nimport bjoern\nimport dramatiq\nfrom dramatiq.brokers.redis import RedisBroker\nfrom dramatiq_dashboard import DashboardApp\n\nbroker = RedisBroker(host=\"127.0.0.1\", port=6379)\ndramatiq.set_broker(broker)\napp = DashboardApp(broker=broker, prefix=\"\")\nbjoern.run(app, \"127.0.0.1\", 8080)\n```\n\nThen visit http://127.0.0.1:8080/ to see the running dashboard.\n\n*Note that if you use custom queues in your application, they won't be\ndiscovered using this approach. You'll have to either add each one of\nthem manually to your broker or import and pass your application's\nbroker to `DashboardApp`.*\n\n## License\n\ndramatiq_dashboard is licensed under the LGPL. Please see [COPYING]\nand [COPYING.LESSER] for licensing details.\n\n\n[COPYING.LESSER]: https://github.com/Bogdanp/dramatiq_dashboard/blob/master/COPYING.LESSER\n[COPYING]: https://github.com/Bogdanp/dramatiq_dashboard/blob/master/COPYING\n[dramatiq]: https://dramatiq.io\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": "dramatiq-dashboard", "package_url": "https://pypi.org/project/dramatiq-dashboard/", "platform": "", "project_url": "https://pypi.org/project/dramatiq-dashboard/", "project_urls": null, "release_url": "https://pypi.org/project/dramatiq-dashboard/0.2.2/", "requires_dist": [ "dramatiq[redis] (<2.0,>=1.6)", "jinja2 (<3,>=2)", "redis (<4.0,>=2.0)", "alabaster ; extra == 'dev'", "sphinx (<1.8) ; extra == 'dev'", "sphinxcontrib-napoleon ; extra == 'dev'", "flake8 ; extra == 'dev'", "flake8-bugbear ; extra == 'dev'", "flake8-quotes ; extra == 'dev'", "isort ; extra == 'dev'", "bumpversion ; extra == 'dev'", "hiredis ; extra == 'dev'", "twine ; extra == 'dev'", "wheel ; extra == 'dev'", "pytest ; extra == 'dev'", "pytest-benchmark[histogram] ; extra == 'dev'", "pytest-cov ; extra == 'dev'", "tox ; extra == 'dev'" ], "requires_python": ">=3.6", "summary": "A dashboard for Dramatiq (Redis-only!).", "version": "0.2.2" }, "last_serial": 5560204, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "4fd9436b891aa5a2ad7ff38fe5ca4984", "sha256": "af629bd8816d934eedd228bd4fbf94c48b6a1ae0cd938e38a93ac95d3bc1346a" }, "downloads": -1, "filename": "dramatiq_dashboard-0.1.0-py3-none-any.whl", "has_sig": true, "md5_digest": "4fd9436b891aa5a2ad7ff38fe5ca4984", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 28244, "upload_time": "2019-06-22T18:00:29", "url": "https://files.pythonhosted.org/packages/88/ec/9ba98f06290a97d05fa1ee09445bdfb3e78eb25c391fd61d20d9f60b3eb4/dramatiq_dashboard-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9214de62ac9a7a6c639ab01b6203641b", "sha256": "12243819a82c3134a260aad15a2647dd0fd24c59bb3c161527c8824de3640c5d" }, "downloads": -1, "filename": "dramatiq_dashboard-0.1.0.tar.gz", "has_sig": true, "md5_digest": "9214de62ac9a7a6c639ab01b6203641b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11452, "upload_time": "2019-06-22T18:00:32", "url": "https://files.pythonhosted.org/packages/ce/95/3167817070b0a1735122c76e798329d1941b6472dfea794581d5d6b6cbcf/dramatiq_dashboard-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f5cf763fef6dd7642974d6902b069f91", "sha256": "b4ebfa907c12bd601c1fbd525ddc76ce8fe30005177f34a618185f01d506ec98" }, "downloads": -1, "filename": "dramatiq_dashboard-0.2.0-py3-none-any.whl", "has_sig": true, "md5_digest": "f5cf763fef6dd7642974d6902b069f91", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 31182, "upload_time": "2019-06-23T09:10:08", "url": "https://files.pythonhosted.org/packages/78/fe/c51cce8c6ef91a8f37ce6f368834cb96f524f3ac32ab863722ce77a852b7/dramatiq_dashboard-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d1c73faf3b70f00bd75e295fada490d", "sha256": "63e8c899c453891e0d403f61cf0d88aaf89b11534445f3001fb130849317f346" }, "downloads": -1, "filename": "dramatiq_dashboard-0.2.0.tar.gz", "has_sig": true, "md5_digest": "1d1c73faf3b70f00bd75e295fada490d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 27325, "upload_time": "2019-06-23T09:10:10", "url": "https://files.pythonhosted.org/packages/fd/d8/a701e5115af83a89a071cadc1c51f0e5ff90042c9a748a45ceece7cbaf40/dramatiq_dashboard-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "a01caea7ed0bec8781ca08664e30da88", "sha256": "9ff925cbbcbe336fe642ea42aec6b48b7c307dd03195ab318ac80cfcddfe2109" }, "downloads": -1, "filename": "dramatiq_dashboard-0.2.1-py3-none-any.whl", "has_sig": true, "md5_digest": "a01caea7ed0bec8781ca08664e30da88", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 31643, "upload_time": "2019-06-26T06:31:11", "url": "https://files.pythonhosted.org/packages/43/5f/d70b70c7af0327fa3d2fd1cee81811263c6dbd92244a9de718045683d6ce/dramatiq_dashboard-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c2044b605f9e09ff40174b68b9fbd482", "sha256": "75b8efa2ea8bce128baef02a1a0fd839f66c047810992ef6e76ae52df7956668" }, "downloads": -1, "filename": "dramatiq_dashboard-0.2.1.tar.gz", "has_sig": true, "md5_digest": "c2044b605f9e09ff40174b68b9fbd482", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 28245, "upload_time": "2019-06-26T06:31:13", "url": "https://files.pythonhosted.org/packages/67/c0/faceb28af86dc5c3fa15e01c38ae0b14e486bb08de50371c5cd0b0a28e81/dramatiq_dashboard-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "d9bae79f7dad128a4d802a764acfecdc", "sha256": "fe3460f0a314dc6575e1b25a52d66f71563347275995e5c5077acb6914d175f6" }, "downloads": -1, "filename": "dramatiq_dashboard-0.2.2-py3-none-any.whl", "has_sig": true, "md5_digest": "d9bae79f7dad128a4d802a764acfecdc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 31633, "upload_time": "2019-07-20T09:43:06", "url": "https://files.pythonhosted.org/packages/d9/f6/89bbc958546f18ab3207db3b52fef235528a1f87cc680ceea9001868941a/dramatiq_dashboard-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c6b80a308e75c67495b143ad6da26c9", "sha256": "318badf1c4b67cad84eb0f946000fdb26aa88730c1a1df7f9b1594a6aa3eb696" }, "downloads": -1, "filename": "dramatiq_dashboard-0.2.2.tar.gz", "has_sig": true, "md5_digest": "2c6b80a308e75c67495b143ad6da26c9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 28240, "upload_time": "2019-07-20T09:43:08", "url": "https://files.pythonhosted.org/packages/15/5d/5dc8303982699b78527899fa901c7003e26a11b9a4e2ba2123ca8544dfc5/dramatiq_dashboard-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d9bae79f7dad128a4d802a764acfecdc", "sha256": "fe3460f0a314dc6575e1b25a52d66f71563347275995e5c5077acb6914d175f6" }, "downloads": -1, "filename": "dramatiq_dashboard-0.2.2-py3-none-any.whl", "has_sig": true, "md5_digest": "d9bae79f7dad128a4d802a764acfecdc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 31633, "upload_time": "2019-07-20T09:43:06", "url": "https://files.pythonhosted.org/packages/d9/f6/89bbc958546f18ab3207db3b52fef235528a1f87cc680ceea9001868941a/dramatiq_dashboard-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c6b80a308e75c67495b143ad6da26c9", "sha256": "318badf1c4b67cad84eb0f946000fdb26aa88730c1a1df7f9b1594a6aa3eb696" }, "downloads": -1, "filename": "dramatiq_dashboard-0.2.2.tar.gz", "has_sig": true, "md5_digest": "2c6b80a308e75c67495b143ad6da26c9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 28240, "upload_time": "2019-07-20T09:43:08", "url": "https://files.pythonhosted.org/packages/15/5d/5dc8303982699b78527899fa901c7003e26a11b9a4e2ba2123ca8544dfc5/dramatiq_dashboard-0.2.2.tar.gz" } ] }