Metadata-Version: 2.4
Name: debug-dojo
Version: 0.5.0
Summary: 🏣 debug dojo, a place for zen debugging
Author-email: bwrob <bartosz.marcin.wroblewski@gmail.com>
License-Expression: MIT
Project-URL: Changelog, https://bwrob.github.io/debug-dojo/changelog/
Project-URL: Documentation, https://bwrob.github.io/debug-dojo/
Project-URL: Homepage, https://bwrob.github.io/debug-dojo/
Project-URL: Source, https://github.com/bwrob/debug-dojo/
Keywords: debugging,inspection,tools,development
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Debuggers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: <3.14,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: debugpy>=1.8.0
Requires-Dist: ipdb>=0.13.0
Requires-Dist: pudb>=2020.1
Requires-Dist: pydantic>=2.11.7
Requires-Dist: rich>=12.0.0
Requires-Dist: tomlkit>=0.13.3
Requires-Dist: typer>=0.15.0
Dynamic: license-file

# debug dojo

<p align="center">
  <img src="https://github.com/bwrob/debug-dojo/blob/main/docs/logo/logo_python.png?raw=true" alt="debug dojo" style="width:50%; max-width:350px;"/>
</p>

<p align="center">
<em>🏣 debug dojo, a place for zen debugging</em>
</p>

[![PyPi Version](https://img.shields.io/pypi/v/debug-dojo.svg?style=flat-square)](https://pypi.org/project/debug-dojo)
[![PyPI pyversions](https://img.shields.io/pypi/pyversions/debug-dojo.svg?style=flat-square)](https://pypi.org/pypi/debug-dojo/)
[![downloads](https://static.pepy.tech/badge/debug-dojo/month)](https://pepy.tech/project/debug-dojo)
[![license](https://img.shields.io/github/license/bwrob/debug-dojo.svg)](https://github.com/bwrob/debug-dojo/blob/main/LICENSE)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/bwrob/debug-dojo/main.svg)](https://results.pre-commit.ci/latest/github/bwrob/debug-dojo/main)

[**debug-dojo**](https://bwrob.github.io/debug-dojo/) is a Python package providing utilities for enhanced debugging and inspection in the terminal.
It leverages [`rich`](https://github.com/Textualize/rich) for beautiful output and offers helpers for side-by-side object comparison, improved tracebacks from `rich`, and easy integration with different debuggers -- `debugpy`, `pudb`, `pdb`, and `ipdb`.

## CLI usage

Run your Python script with debugging tools enabled using the `debug-dojo` command:

```console
dojo my_script.py
```

You can optionally set configuration, verbose mode, and specify the debugger type. Both script files and modules are supported:

```console
dojo --debugger ipdb --config dojo.toml --verbose --module my_module
```

## From the code

In the `PuDB` style, you can install all debugging tools and enter the debugging mode with a single command:

```python
object_1 = {"foo": 1, "bar": 2}
object_2 = [1, 2, 3]

import debug_dojo.install; b()

p(object_1)             # Pretty print an object with Rich.
i(object_1)             # Inspect an object using Rich.
c(object_1, object_2)   # Compare two objects side-by-side.

```

## Documentation

For instructions regarding installation, configuration and usage please visit [documentation](https://bwrob.github.io/debug-dojo/).
