Skip to main content

🏣 debug dojo, a place for zen debugging

Project description

debug dojo

🏣 debug dojo, a place for zen debugging

PyPi Version PyPI pyversions downloads license pre-commit.ci status

debug-dojo is a powerful Python package designed to streamline your debugging workflow directly from the terminal. It integrates seamlessly with popular debuggers and enhances your inspection capabilities with beautiful, readable output.

✨ Features

  • Unified Debugging Interface: Easily launch your scripts or modules with your preferred debugger (debugpy, pudb, pdb, ipdb).
  • Enhanced Output with Rich: Leverages rich for stunning, syntax-highlighted code, pretty-printed objects, and improved tracebacks.
  • Side-by-Side Object Comparison: Quickly identify differences between two Python objects.
  • Interactive Object Inspection: Dive deep into object structures with a powerful inspect utility.
  • Simplified Breakpoints: Set breakpoints effortlessly with a concise helper function.

🚀 Installation

Install debug-dojo using pip:

pip install debug-dojo

For full debugger support, you might want to install optional dependencies:

pip install "debug-dojo[all-debuggers]"

💻 CLI Usage

Run your Python script or module with debug-dojo:

dojo my_script.py

Specify a debugger, configuration file, or enable verbose output:

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

Run an executable command with debugging tools:

dojo --exec pytest

🐍 Usage in Code

Integrate debug-dojo directly into your Python code for on-demand debugging and inspection utilities:

import debug_dojo.install

# Set a breakpoint and enter the debugger
# debug_dojo.install.b() # Equivalent to breakpoint()

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

# Pretty print an object with Rich
debug_dojo.install.p(object_1)

# Inspect an object using Rich
debug_dojo.install.i(object_1)

# Compare two objects side-by-side
debug_dojo.install.c(object_1, object_2)

# Enter the debugger (e.g., ipdb, pudb, pdb, debugpy based on config)
# debug_dojo.install.b()

📚 Documentation

For comprehensive instructions on installation, configuration, advanced usage, and API reference, please visit the official documentation.

🤝 Contributing

Contributions are welcome! Please refer to the development guidelines for details on how to set up your development environment and submit changes.

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

debug_dojo-0.7.0.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

debug_dojo-0.7.0-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file debug_dojo-0.7.0.tar.gz.

File metadata

  • Download URL: debug_dojo-0.7.0.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for debug_dojo-0.7.0.tar.gz
Algorithm Hash digest
SHA256 17ce1515bf16f87f4c6741e8dd255a90b1ef13671efc1f4f95acfca4674665d3
MD5 9c397a833b5c8c583639f31204978469
BLAKE2b-256 018bdc4ceab6ebe906fb1a36aa2ea32798dc3aa79d7327f47eb586368dd62561

See more details on using hashes here.

File details

Details for the file debug_dojo-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: debug_dojo-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for debug_dojo-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1524d61d4c798521c1ac0372b7f699a26f8abd005b12bd42df29207e47d8070f
MD5 f721aed2f58f856c6242be2cf4bb6545
BLAKE2b-256 727499f6c6f1b4778ea0b3fad7e43b7f268dce3635ac0d79af6f72d0c145e2e6

See more details on using hashes here.

Supported by

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