{ "info": { "author": "Alessandro Molina", "author_email": "amol@turbogears.org", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware" ], "description": "About backlash\n-------------------------\n\nbacklash is a swiss army knife for web applications debugging, which provides:\n\n - An Interactive In Browser Debugger based on a Werkzeug Debugger fork ported to WebOb\n - Crash reporting by email and on Sentry\n - Slow requests reporting by email and on Sentry.\n\nBacklash was born as a replacement for WebError in TurboGears2.3 versions.\n\nInstalling\n-------------------------------\n\nbacklash can be installed from pypi::\n\n pip install backlash\n\nshould just work for most of the users\n\nDebugging and Console\n----------------------------------\n\nBacklash supports both debugging applications on crash and realtime console,\nboth are based on the Werkzeug Debugger and adapted to work with WebOb.\n\nThe debugging function is provided by the ``DebuggedApplication`` middleware,\nwrapping your application with this middleware will intercept any exception\nand display the traceback and an interactive console in your browser.\n\nAn interactive console will also be always available at ``/__console__`` path.\n\nContext Injectors\n+++++++++++++++++++++++++++++\n\nThe ``DebuggedApplication`` middleware also makes possible to provide one or more\n``context injectors``, those are simple python functions that will be called when\nan exception is raised to retrieve the context to store and make back available during\ndebugging.\n\nContext injectors have to return a dictionary which will be merged into the current\nrequest context, the request context itself will be made available inside the debugger\nas the ``ctx`` object.\n\nThis feature is used for example by TurboGears to provide back some of the objects\nwhich were available during execution like the current request.\n\nExample\n+++++++++++++++++++++++++++++++\n\nThe DebuggedApplication middleware is used by TurboGears in the following way::\n\n def _turbogears_backlash_context(environ):\n tgl = environ.get('tg.locals')\n return {'request':getattr(tgl, 'request', None)}\n\n app = backlash.DebuggedApplication(app, context_injectors=[_turbogears_backlash_context])\n\n\nException Tracing\n---------------------------------------\n\nThe ``TraceErrorsMiddleware`` provides a WSGI middleware that intercepts any exception\nraised during execution, retrieves a traceback object and provides it to one or more\n``reporters`` to log the error.\n\nBy default the ``EmailReporter`` and ``SentryReporter`` are provided to send error\nreports by email and on Sentry.\n\nThe ``EmailReporter`` supports most of the options WebError ErrorMiddleware to provide some\nkind of backward compatibility and make possible a quick transition.\n\nWhile this function is easily replicable using the python logging SMTPHandler, the\nTraceErrorsMiddleware is explicitly meant for web applications crash reporting\nwhich has the benefit of being able to provide more complete information and keep a clear\nand separate process in managing errors.\n\nExample\n++++++++++++++++++++++++++++++++\n\nThe TraceErrorsMiddleware is used by TurboGears in the following way::\n\n from backlash.trace_errors import EmailReporter\n\n def _turbogears_backlash_context(environ):\n tgl = environ.get('tg.locals')\n return {'request':getattr(tgl, 'request', None)}\n\n app = backlash.TraceErrorsMiddleware(app, [EmailReporter(**errorware)],\n context_injectors=[_turbogears_backlash_context])\n\nSlow Requests Tracing\n---------------------------------------\n\nThe ``TraceSlowRequestsMiddleware`` provides a WSGI middleware that tracks requests\nexecution time and reports requests that took more than a specified interval to complete\n(by default 25 seconds).\n\nIt is also possible to exclude a list of paths that start with a specified string\nto avoid reporting long polling connections or other kind of requests that are\nexpected to have a long life spawn.\n\nExample\n++++++++++++++++++++++++++++++++\n\nThe TraceSlowRequestsMiddleware is used by TurboGears in the following way::\n\n from backlash.trace_errors import EmailReporter\n\n def _turbogears_backlash_context(environ):\n tgl = environ.get('tg.locals')\n return {'request':getattr(tgl, 'request', None)}\n\n app = backlash.TraceSlowRequestsMiddleware(app, [EmailReporter(**errorware)],\n interval=25, exclude_paths=None,\n context_injectors=[_turbogears_backlash_context])", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/TurboGears/backlash", "keywords": "wsgi", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "backlash", "package_url": "https://pypi.org/project/backlash/", "platform": "", "project_url": "https://pypi.org/project/backlash/", "project_urls": { "Homepage": "https://github.com/TurboGears/backlash" }, "release_url": "https://pypi.org/project/backlash/0.1.4/", "requires_dist": null, "requires_python": "", "summary": "Standalone WebOb port of the Werkzeug Debugger with Python3 support meant to replace WebError in future TurboGears2", "version": "0.1.4" }, "last_serial": 3789434, "releases": { "0.0.1a": [ { "comment_text": "", "digests": { "md5": "3f35260e14aca1f713475f7424e393ed", "sha256": "65fd80f86975c57a1cdbd66f4fc10951e5ff328563bfccb62cf5fbbfb4627139" }, "downloads": -1, "filename": "backlash-0.0.1a.tar.gz", "has_sig": false, "md5_digest": "3f35260e14aca1f713475f7424e393ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 97483, "upload_time": "2013-01-30T21:30:13", "url": "https://files.pythonhosted.org/packages/22/d9/04e11357296d456b89da25f7b61582b8e10df44646bf8bb0313f72fd53a1/backlash-0.0.1a.tar.gz" } ], "0.0.1a2": [ { "comment_text": "", "digests": { "md5": "bfa8a89f1c9904c7ba1bff977a5f92a2", "sha256": "d5e528eb02dfe9317ae80459c2f4fb6a0b86e6d173600e21152d2bed13f27b83" }, "downloads": -1, "filename": "backlash-0.0.1a2.tar.gz", "has_sig": false, "md5_digest": "bfa8a89f1c9904c7ba1bff977a5f92a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 97662, "upload_time": "2013-03-07T20:25:26", "url": "https://files.pythonhosted.org/packages/42/54/18c14bd81282de6102d2f48d36c98cb365fc951299ed0803deb4f7cc7b51/backlash-0.0.1a2.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "9c88db872b44ec4ab9116db37238b343", "sha256": "77ed1d73a1f1855d52bceb640c47b3f9c96421001d04248da534697bdae431f0" }, "downloads": -1, "filename": "backlash-0.0.2.tar.gz", "has_sig": false, "md5_digest": "9c88db872b44ec4ab9116db37238b343", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 170195, "upload_time": "2013-04-19T19:57:14", "url": "https://files.pythonhosted.org/packages/a2/f3/84db6efe1acce0f8ec3eacdfcf7b58e00ba6d18d6156a587b4d6614e228e/backlash-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "2618d236a2b92e5c3ebf454976101918", "sha256": "157aed0f9cbcb955895adfbff16acfb11f212b25f0e961e7ccfdc8b2bebb8540" }, "downloads": -1, "filename": "backlash-0.0.3.tar.gz", "has_sig": false, "md5_digest": "2618d236a2b92e5c3ebf454976101918", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 170272, "upload_time": "2013-05-15T20:33:00", "url": "https://files.pythonhosted.org/packages/7f/ca/ae556a66d57beaf895d8735fad40c578960852fd212f103d1083e130fbf1/backlash-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "f5a83a0475475a645cb0f9748dd72c4d", "sha256": "08a58e641a646c1ad54eaec42a0b950d33baca6a77988bc7d58f53304e05b137" }, "downloads": -1, "filename": "backlash-0.0.4.tar.gz", "has_sig": false, "md5_digest": "f5a83a0475475a645cb0f9748dd72c4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 170319, "upload_time": "2013-10-21T19:46:27", "url": "https://files.pythonhosted.org/packages/c4/9f/b220465bc87ff2ec87f0f0f713f0480e83fc32c01374d3d7d5754877057f/backlash-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "aed15760ecd363cd6ae75ee26ab65a78", "sha256": "2ef902e1dc711f75aab2b15971484e111a5387d1e1f4d479911a272dbb2a0973" }, "downloads": -1, "filename": "backlash-0.0.5.tar.gz", "has_sig": false, "md5_digest": "aed15760ecd363cd6ae75ee26ab65a78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 170897, "upload_time": "2014-03-08T14:03:59", "url": "https://files.pythonhosted.org/packages/17/87/fa608f30eb7bea3ff46549661537d9561f416c752cf46ce5b9560268f1a4/backlash-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "f91fe1cd4152988b5102bb4ff5883d30", "sha256": "a47fdf3fe3e16be3960175def67227508b47be672a4d01cce1d3372cf000ad68" }, "downloads": -1, "filename": "backlash-0.0.6.tar.gz", "has_sig": false, "md5_digest": "f91fe1cd4152988b5102bb4ff5883d30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 173861, "upload_time": "2014-06-27T16:24:53", "url": "https://files.pythonhosted.org/packages/4d/fa/0bebd8f114c7249c377a4b77c8bcb7412f8cddec76b033692737c34db39c/backlash-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "336de278d3d5a4096289501a91c57bfc", "sha256": "7758f669519ca51edf66babe9f2b4afc68145ed994a0e8d990cd626ecb4c033a" }, "downloads": -1, "filename": "backlash-0.0.7.tar.gz", "has_sig": false, "md5_digest": "336de278d3d5a4096289501a91c57bfc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174127, "upload_time": "2015-01-30T21:03:32", "url": "https://files.pythonhosted.org/packages/19/01/51ee28c1d4f54121e927182e4f541af75f9081f6a2e364ca3ad48a8d09c3/backlash-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "7090cdd56ae9628c9f5bb5cffacd463c", "sha256": "ea6424104572574c6b9ae71b74097c98c9c68acdddde056a06695a297ae0e368" }, "downloads": -1, "filename": "backlash-0.0.8.tar.gz", "has_sig": false, "md5_digest": "7090cdd56ae9628c9f5bb5cffacd463c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174109, "upload_time": "2015-04-26T07:56:48", "url": "https://files.pythonhosted.org/packages/b2/18/25c20cdba6b036dbff0884ba245901ec28036e55c01c1a980d928b2beee2/backlash-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "bc1c30b1e501a173e3c4d7c174fd2e01", "sha256": "66e4e95e357ab3262da56597452a270edb4da0159d9fc652e19c2f14c15a3d81" }, "downloads": -1, "filename": "backlash-0.0.9.tar.gz", "has_sig": false, "md5_digest": "bc1c30b1e501a173e3c4d7c174fd2e01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174348, "upload_time": "2015-05-27T13:22:38", "url": "https://files.pythonhosted.org/packages/c5/d4/a9863cb8a48463addc127aa2726e407138f7f1d5647725d71f8a23f36e2d/backlash-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "21d8b1b32f08beae4630f7326e241d0c", "sha256": "9ecc011cf9ef5fbb5e2add5a0c7c00c6904c57fe39d682114166641e2f4f90af" }, "downloads": -1, "filename": "backlash-0.1.0.tar.gz", "has_sig": false, "md5_digest": "21d8b1b32f08beae4630f7326e241d0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174419, "upload_time": "2015-07-21T13:58:44", "url": "https://files.pythonhosted.org/packages/7b/ed/f58c7d50104814bef723f69c8662525b2d723aff5b29f4ce78416efc65c5/backlash-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "9519b6709a2517a8972c759584889087", "sha256": "f9e608be581b95b5213c92498918dd91f7913b7bd28b820644fd47b183f8e5fc" }, "downloads": -1, "filename": "backlash-0.1.1.tar.gz", "has_sig": false, "md5_digest": "9519b6709a2517a8972c759584889087", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174535, "upload_time": "2016-01-13T15:16:03", "url": "https://files.pythonhosted.org/packages/c6/4b/2db84a5ddce861a7ccee325ab27981081c9f8af808d74c8800fa9e119b67/backlash-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "36a1b4f271c5a8c035f3dbb0dfb39087", "sha256": "fc568490be869c8299504a98bff6b1e5fb05e9ee9e6a3bf3742c8d194bba8c9b" }, "downloads": -1, "filename": "backlash-0.1.2.tar.gz", "has_sig": false, "md5_digest": "36a1b4f271c5a8c035f3dbb0dfb39087", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174766, "upload_time": "2017-03-18T20:53:06", "url": "https://files.pythonhosted.org/packages/85/35/d6d232eacb8f81ae6b13c9bf9a5a3f9c0e41fc466bf3390c68ddf2441c4b/backlash-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "0c3f4edaef5229e82ff4da2bfc779f27", "sha256": "9fc2e5b199c1a709ce3e692af0c49cdbbdb4c9f189517a022e7a7697b4362e8a" }, "downloads": -1, "filename": "backlash-0.1.3.tar.gz", "has_sig": false, "md5_digest": "0c3f4edaef5229e82ff4da2bfc779f27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174761, "upload_time": "2017-10-17T11:08:47", "url": "https://files.pythonhosted.org/packages/2e/18/d7703f5faaa96d553006563e1d34462250bc8a9bed27873bb6da42c304e5/backlash-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "13799d406a98bfdcf1937df7f846590a", "sha256": "a9b768e79017e5a1f7eff0036e8db3c5ff4711536219472891900d2f204d6b8a" }, "downloads": -1, "filename": "backlash-0.1.4.tar.gz", "has_sig": false, "md5_digest": "13799d406a98bfdcf1937df7f846590a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174773, "upload_time": "2018-04-22T17:34:46", "url": "https://files.pythonhosted.org/packages/25/f3/9003f2c4d7f4fb6e08209ea09cc7b9b54c4d8fa3f4d79d9eefb71c57b850/backlash-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "13799d406a98bfdcf1937df7f846590a", "sha256": "a9b768e79017e5a1f7eff0036e8db3c5ff4711536219472891900d2f204d6b8a" }, "downloads": -1, "filename": "backlash-0.1.4.tar.gz", "has_sig": false, "md5_digest": "13799d406a98bfdcf1937df7f846590a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174773, "upload_time": "2018-04-22T17:34:46", "url": "https://files.pythonhosted.org/packages/25/f3/9003f2c4d7f4fb6e08209ea09cc7b9b54c4d8fa3f4d79d9eefb71c57b850/backlash-0.1.4.tar.gz" } ] }