Skip to main content

Debug Tools for py4web

Project description

py4web debug tools

Tooling to improve the developer experience when working with py4web.

There are two main tools and some helpers that this package provides.

  1. A better error 500 screen, that shows the error + traceback of what happened
  2. A debug bar containing the requests's data, queries including duplicate and custom caught data.

In this package:

  • tools:
    • enable(db: DAL, enabled: bool): activate or disable the debug tools (add the custom error screen and create the Debug Bar Fixture).
      The first argument (DAL) is required for the debug bar to collect queries.
    • debug_bar: this Fixture can be used on py4web actions to enable the bar for that page.
  • catch(*): Data and a stacktrace of where catch() is called can be found in the catch tab of the debug bar.
  • dump(*): convert objects to JSON, with a more capable converter than the default json.dumps (e.g. it works better with NamedTuples, pyDAL Rows, objects with some variation of as_dict and more. See dumping.py:DDJsonEncoder for specifics)
  • dd(*): Show a page with the data passed to this method and halt execution directly.

Example:

# controllers.py

from py4web_debug import tools, catch, dump, dd

tools.enable(db, enabled=True)


@action("index")
@action.uses("index.html", db, tools.debug_bar)
def index():
    catch("Catch to Debug Bar")
    return {}


@action("other")
@action.uses("index.html", db)
def page_without_debugbar():
    dd("Stop executing here!")
    return {}


@action("error")
@action.uses("index.html", db)
def page_with_error():
    0 / 0
    return {}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py4web-debug-tools-0.1.1.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

py4web_debug_tools-0.1.1-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file py4web-debug-tools-0.1.1.tar.gz.

File metadata

  • Download URL: py4web-debug-tools-0.1.1.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for py4web-debug-tools-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f80e123106fe17ffa69a36baf0b41b7d1b8291210c31eb54657bba378cf352b9
MD5 0b80e18b2b61118eda75706b6f088e1b
BLAKE2b-256 81af8172a286039b638e43455ba1e87fa04c129442cbf85df38c701a59eef328

See more details on using hashes here.

File details

Details for the file py4web_debug_tools-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for py4web_debug_tools-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7c138e4bf92592b8e334618a265d2b575212c837d424c833eb13c2283004f600
MD5 2b1b16c8e68a8b2bc03a5733b1496d62
BLAKE2b-256 867c679f9ecebe8b11c73d662bf551b105d3469f730cbb016dee5b2e46a48a41

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page