{ "info": { "author": "Chris McDonough, Michael Merickel, Casey Duncan, Blaise Laflamme", "author_email": "pylons-discuss@googlegroups.com", "bugtrack_url": null, "classifiers": [ "Framework :: Pyramid", "Intended Audience :: Developers", "License :: Repoze Public License", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Internet :: WWW/HTTP :: WSGI" ], "description": "pyramid_debugtoolbar\n====================\n\n``pyramid_debugtoolbar`` provides a debug toolbar useful while you're\ndeveloping your Pyramid application.\n\nNote that ``pyramid_debugtoolbar`` is a blatant rip-off of Michael van\nTellingen's ``flask-debugtoolbar`` (which itself was derived from Rob Hudson's\n``django-debugtoolbar``). It also includes a lightly sanded down version of the\nWerkzeug debugger code by Armin Ronacher and team.\n\n\nDocumentation\n-------------\n\nThe documentation of the current stable release of ``pyramid_debugtoolbar`` is\navailable at\nhttp://docs.pylonsproject.org/projects/pyramid-debugtoolbar/en/latest/.\n\n\nDemonstration\n-------------\n\nFor a demonstration:\n\n- Clone the ``pyramid_debugtoolbar`` trunk.\n\n .. code-block:: bash\n\n $ git clone https://github.com/Pylons/pyramid_debugtoolbar.git\n\n- Create a virtual environment in the workspace.\n\n .. code-block:: bash\n\n $ cd pyramid_debugtoolbar\n $ python3 -m venv env\n\n- Install the ``pyramid_debugtoolbar`` trunk into the virtualenv.\n\n .. code-block:: bash\n\n $ env/bin/pip install -e .\n\n- Install the ``pyramid_debugtoolbar/demo`` package into the virtualenv.\n\n .. code-block:: bash\n\n $ env/bin/pip install -e demo\n\n- Run the ``pyramid_debugtoolbar`` package's ``demo/demo.py`` file using the\n virtual environment's Python.\n\n .. code-block:: bash\n\n $ env/bin/python demo/demo.py\n\nVisit http://localhost:8080 in a web browser to see a page full of test\noptions.\n\n\nTesting\n-------\n\nIf you have ``tox`` installed, run all tests with:\n\n.. code-block:: bash\n\n $ tox\n\nTo run only a specific Python environment:\n\n.. code-block:: bash\n\n $ tox -e py35\n\nIf you don't have ``tox`` installed, you can install the testing requirements,\nthen run the tests.\n\n.. code-block:: bash\n\n $ python3 -m venv env\n $ env/bin/pip install -e \".[testing]\"\n $ env/bin/nosetests\n\n\nBuilding documentation\n----------------------\n\nIf you have ``tox`` installed, build the docs with:\n\n.. code-block:: bash\n\n $ tox -e docs\n\nIf you don't have ``tox`` installed, you can install the requirements to build\nthe docs, then build them.\n\n.. code-block:: bash\n\n $ env/bin/pip install -e \".[docs]\"\n $ cd docs\n $ make clean html SPHINXBUILD=../env/bin/sphinx-build\n\n\n4.5 (2018-09-09)\n----------------\n\n- Drop Python 3.3 support to align with Pyramid and its EOL.\n\n- Add support for testing on Python 3.7.\n\n- Add a list of engines to the SQLAlchemy panel if queries come from\n multiple engines.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/334\n\n- When the toolbar intercepts an exception via\n ``debugtoolbar.intercept_exc = True`` and returns the interactive\n debugger, it will add ``request.exception`` and ``request.exc_info`` to\n the request to indicate what exception triggered the response. This helps\n upstream tweens such as ``pyramid_retry`` to possibly retry the requests.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/343\n\n- Stop parsing the ``request.remote_addr`` value when it contains chain of\n comma-separated ip-addresses. Reject these values and emit a warning\n to sanitize the value upstream.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/342\n\n\n4.4 (2018-02-19)\n----------------\n\n- Reduce the log output for squashed exceptions and put them at the INFO\n level so they can be filtered out if desired.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/328 and\n https://github.com/Pylons/pyramid_debugtoolbar/pull/329\n\n4.3.1 (2018-01-28)\n------------------\n\n- Javascript syntax fixes for browsers that don't support trailing commas.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/326\n\n4.3 (2017-07-14)\n----------------\n\n- The logging panel indicator is now color-coded to indicate the severity of\n the log messages as well as the number of messages at said level. There may\n be more messages, but the most severe show up in the annotation.\n\n This feature also added a new ``nav_subtitle_style`` hook to the\n ``DebugPanel`` API for adding a custom CSS class to the subtitle tag.\n\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/322\n\n4.2.1 (2017-06-30)\n------------------\n\n- Fix a bug with the logging of squashed exceptions on Python < 3.5.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/320\n\n4.2 (2017-06-21)\n----------------\n\nThis release contains a rewrite of the underlying exception / traceback\ntracking machinery and fixes regressions caused by the 4.1 release that\nbroke the interactive debugger.\nSee https://github.com/Pylons/pyramid_debugtoolbar/pull/318\n\n- Tracebacks are now tied to the per-request toolbar object one-to-one.\n A request may have only one traceback. Previously they actually stuck\n around for the entire lifetime of the app instead of being collected by\n the max_request_history setting.\n\n- The routes for exceptions are standardized to look similar to the SQLA AJAX\n routes. For example, ``/{request_id}/exception`` instead of\n ``/exception?token=...&tb=...`` and\n ``/{request_id}/exception/execute/{frame_id}?cmd=...`` instead of\n ``/exception?token=...&tb=...&frm=...&cmd=...``.\n\n- Fixed the url generation for the traceback panel link at the bottom of the\n traceback... it was actually empty previously - it got lost somewhere along\n the way.\n\n- /favicon.ico is no longer specially handled.. it's just part of\n ``exclude_prefixes`` like anything else that you want to exclude.\n\n- ``request.pdtb_history`` is available for toolbar requests (mostly AJAX\n requests or panel rendering).\n\n- Removed the unused history predicate.\n\n- URL generation was broken in the ``debugger.js`` but that's fixed now so the\n execute/source buttons work in tracebacks.\n\n- Drop the license from ``LICENSE.txt`` for the removed ipaddr module in 4.1.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/315\n\n4.1 (2017-05-30)\n----------------\n\n- Debug squashed exceptions! If you register an exception view for an exception\n it will render a response. The toolbar will see the squashed exception and\n enable the ``Traceback`` tab in the toolbar and emit a message on the\n console with the URL. You can then debug the exception while returning the\n original response to the user.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/308\n\n- Remove the vendored ipaddr package and use the stdlib ipaddress module on\n Python 3.3+. On Python < 3.3 the ipaddress module is a dependency from PyPI.\n This dependency uses environment markers and thus requires pip 8.1.2+.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/304\n\n- Display a warning if the toolbar is used to display a request that no longer\n exists. This may be because the app was restarted or the request fell off\n the end of the ``max_request_history``.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/305\n\n- Enable testing on Python 3.6.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/306\n\n- Drop the link-local suffix off of local interfaces in order to accept\n requests on them. See https://github.com/Pylons/pyramid_debugtoolbar/pull/307\n\n- Headers panel defers its processing to a finished callback. This is best\n effort of displaying actual headers, since they could be modified by\n a response callback or another finished callback.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/310\n\n- Query log inside SQLAlchemy panel does not cause horizontal scrolling\n anymore, which should improve UX.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/311\n\n4.0.1 (2017-05-09)\n------------------\n\n- Fix sticky panel functionality that was broken by other cleanup in the 4.0\n release. See https://github.com/Pylons/pyramid_debugtoolbar/pull/297\n\n4.0 (2017-05-03)\n----------------\n\n- The config settings ``debugtoolbar.panels``, ``debugtoolbar.extra_panels``,\n ``debugtoolbar.global_panels`` and ``debugtoolbar.extra_global_panels``\n now all accept panel names as defined in\n ``pyramid_debugtoolbar.panels.DebugPanel.name``. Thus you may use names\n such as ``performance``, ``headers``, etc. These settings still support the\n dotted Python path but it is suggested that panels now support being\n included via ``debugtoolbar.includes`` and ``config.add_debugtoolbar_panel``\n instead such that they are automatically added to the toolbar.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/288\n\n- Add a new ``config.add_debugtoolbar_panel`` directive that can be invoked\n from ``includeme`` functions included via the ``debugtoolbar.includes``\n setting. These panels are automatically added to the default panel list\n and should become the way to define toolbar panels in the future.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/283\n\n- Add a new ``config.inject_parent_action`` directive that can be invoked\n from ``includeme`` functions included via the ``debugtoolbar.includes``\n setting. These actions are invoked on the parent config just before it is\n created such that actions can inspect / wrap existing config.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/288\n\n- Added \"sticky\" panel functionality to allow a selected panel to persist\n across pageviews using cookies. If a cookied panel does not have content\n available for display, the first non-disabled panel will be displayed. If a\n cookied panel is not enabled on the toolbar, the first non-disabled panel will\n be displayed AND will become the new default panel.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/272\n\n- Added `CustomLoggerFactory` to javascript, used in the development of PR 272.\n This javascript factory allows panel developers and maintainers to use verbose\n console logging during development, partitioned by feature, and silence it for\n deployment while still leaving the logging lines activated.\n\n- The toolbar registers a ``BeforeRender`` subscriber in your application to\n monitor the rendering of templates. Previously it was possible that the\n toolbar would miss rendering information because of the order in which the\n subscribers were registered. The toolbar now waits until the application\n is created and then appends a new subscriber that encapsulates the\n your application's ``BeforeRender`` subscribers.\n See https://github.com/Pylons/pyramid_debugtoolbar/pull/284\n\n- Remove duplicate ``id=\"${panel.dom_id}\"`` tags in history tab html. Only\n the top-level ``