Skip to main content

py-bugger logo

py-bugger

When people learn debugging, they typically have to learn it by focusing on whatever bugs come up in their code. They don't get to work on specific kinds of errors, and they don't get the chance to progress from simple to more complex bugs. This is quite different from how we teach and learn just about any other skill.

py-bugger lets you intentionally introduce specific kinds and numbers of bugs to a working project. You can introduce bugs to a project with a single file, or a much larger project. This is much different from the typical process of waiting for your next bug to show up, or introducing a bug yourself. py-bugger gives people a structured way to learn debugging, just as we approach all other areas of programming.

Full documentation is at https://py-bugger.readthedocs.io/.

Installation

$ pip install python-bugger

Note: The package name is python-bugger, because py-bugger was unavailable on PyPI.

Basic usage

If you don't specify a target directory or file, py-bugger will look at all .py files in the current directory before deciding where to insert a bug. If the directory is a Git repository, it will follow the rules in .gitignore. It will also avoid introducing bugs into test directories and virtual environments that follow familiar naming patterns.

py-bugger creates bugs that induce specific exceptions. Here's how to create a bug that generates a ModuleNotFoundError:

$ py-bugger -e ModuleNotFoundError
Introducing a ModuleNotFoundError...
  Modified file.

When you run the project again, it should fail with a ModuleNotFoundError.

For more details, see the Quick Start and Usage pages in the official docs.

Contributing

If you're interested in this project, please feel free to get in touch. If you have general feedback or just want to see the project progress, please share your thoughts in the Initial feedback discussion. Also, feel free to open a new issue. The contributing section in the official docs has more information about how to contribute.

Metadata

Release files for python-bugger 0.5.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-bugger 0.5.2
File Size Uploaded
python_bugger-0.5.2.tar.gz 14.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for python-bugger 0.5.2
File Interpreter ABI Platform
python_bugger-0.5.2-py3-none-any.whl Python 3 none any Details

Total release size: 30.4 kB

Release files / python_bugger-0.5.2.tar.gz

Download URL python_bugger-0.5.2.tar.gz
Size 14.2 kB
Tags Source
SHA-256 checksum
How to use checksums
41f799289ffb689b07e6eed4d7f250d7b9328e433b999d2d3af9ba1601ad4e2c
BLAKE2b-256 checksum
How to use checksums
e85f8813962e3428b469e001acc0483d0a69a39f73e6a09c200508938e818b26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Release files / python_bugger-0.5.2-py3-none-any.whl

Download URL python_bugger-0.5.2-py3-none-any.whl
Size 16.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
115e49619fbbd3a763251a3d93f193b5f6beff2d48c648b95d64196bf92de501
BLAKE2b-256 checksum
How to use checksums
6847c2dac1e6ad21e6a608a9ac9b4ddb0c17db6f709337a86aeb507e69fb0e18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.5.2 This release

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page