skillfed

flake8-debugger

ipdb/pdb statement checker plugin for flake8

flake8-debugger v4.1.2 338.2K downloads/30d#7,435 on PyPI43
Permissive license MIT Abandoned released

What it is and what it does

flake8-debugger is a linting plugin that integrates with flake8 to catch debugger statements accidentally left in code. It detects imports and calls to pdb, ipdb, pudb, the breakpoint() builtin, and IPython's InteractiveShellEmbed, flagging them as code-quality issues during static analysis.

The plugin works by parsing Python's abstract syntax tree to identify these debugging tools. Once installed alongside flake8, it runs automatically as part of your linting workflow without requiring separate configuration. It's designed for developers who want to prevent debug code from reaching production or being committed to version control.

Use it for:

  • Catch pdb or ipdb breakpoints left in code before committing to version control.
  • Enforce team code-quality standards by failing CI builds when debugger statements are detected.
  • Detect IPython interactive shells embedded in production code.
  • Identify pudb or breakpoint() calls that were meant to be temporary during development.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

A flake8 plugin that detects debugger statements (pdb, ipdb, pudb, breakpoint, and IPython.terminal.embed) left in Python code during linting.

Yes, if you are already using flake8 and need to prevent debugger statements in your codebase. The plugin is lightweight and adds minimal friction. However, be aware that the project is abandoned and may not be maintained for compatibility with future flake8 versions—verify it works with your current flake8 version before relying on it in production workflows.

Install

flake8-debugger on PyPI

pip

pip install flake8-debugger

uv

uv add flake8-debugger

poetry

poetry add flake8-debugger

Installing flake8-debugger

Before you install

Low install friction with just two runtime dependencies (flake8 and pycodestyle). However, the package is abandoned—last release was 2022-04-30. No active maintenance means bug fixes or compatibility updates are unlikely.

License in practice

MIT license is permissive, allowing use in both open-source and commercial projects with minimal restrictions.

Quickstart

pip install flake8-debugger

Then run flake8 on your code:
flake8 your_file.py

The plugin automatically detects pdb, ipdb, pudb, breakpoint, and IPython.terminal.embed statements.

Requires flake8 to be installed; the plugin integrates as a flake8 extension and does not work standalone.

Verify before relying

  • Whether the plugin remains compatible with recent flake8 versions given the time since last release.
  • Current error codes and messages the plugin emits for different debugger types.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies 2 — flake8, pycodestyle
Maintenance abandoned — 1,567 days since the last release
Last repo commit
First released
Downloads 338,220/month — #7,435 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: flake8_debugger-4.1.2-py3-none-any.whl

Keywords: flake8, plugin, linting, debugger, ipdb, code quality

Development Status :: 3 - AlphaEnvironment :: ConsoleFramework :: Flake8Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 3Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: Quality Assurance

Tags

flake8 debugger detectionpdb statement checkerfind leftover debugger importsipdb linting plugincode quality debugger check
lintingcode-qualitydebugger-detection

More Python Modules packages