skillfed

flake8-fixme

Check for FIXME, TODO and other temporary developer notes. Plugin for flake8.

flake8-fixme v1.1.1 252.1K downloads/30d#8,558 on PyPI20
Permissive license Apache-2.0 Abandoned released

What it is and what it does

flake8-fixme is a flake8 plugin that scans Python source code for temporary developer annotations—FIXME, TODO, XXX, and similar markers—and reports them as linting violations with specific error codes. It runs as part of your normal flake8 checks, allowing you to enforce team policies on which temporary notes are acceptable to commit. Each marker type gets its own error code (T100 for FIXME, T101 for TODO, T102 for XXX), so you can configure your CI/CD pipeline to allow some markers while blocking others.

The plugin has no runtime dependencies and integrates directly into flake8's plugin system. It was last updated in May 2019 and is no longer actively maintained, though the code remains stable and functional for supported Python and flake8 versions. It's most useful in projects that want to prevent accidental commits of incomplete work or temporary hacks.

Use it for:

  • Enforce CI/CD rules that block FIXME comments from being merged while allowing TODO comments for future work.
  • Scan codebases to identify and catalog all temporary markers left behind by developers.
  • Prevent temporary debugging code marked with XXX or HACK from reaching production branches.
  • Integrate into pre-commit hooks to catch temporary notes before they're staged for commit.
  • Generate reports on code quality by tracking the frequency and location of temporary markers across a project.

Worth the install?

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

A flake8 plugin that detects and flags temporary developer notes like FIXME, TODO, and XXX comments in Python code, allowing you to enforce policies on which temporary markers can be committed.

Yes, if you use flake8 and want to enforce policies on temporary code markers. The plugin is simple, has no dependencies, and works reliably for its narrow purpose. However, be aware the project is abandoned—it will not receive updates for new flake8 versions, so verify compatibility with your current flake8 version before relying on it in new projects.

Install

flake8-fixme on PyPI

pip

pip install flake8-fixme

uv

uv add flake8-fixme

poetry

poetry add flake8-fixme

Installing flake8-fixme

Before you install

Installation is straightforward with no runtime dependencies. The project is marked abandoned with last commit on 2023-02-08, but the wheel is pure Python and the plugin remains functional for flake8 versions 3.7 and later.

License in practice

Licensed under Apache-2.0 (permissive), which allows use in commercial and private projects with minimal restrictions; no license compatibility concerns for typical workflows.

Quickstart

pip install flake8-fixme

# Then run flake8 on your code:
flake8 my_file.py

# In my_file.py:
# def my_function():
#     # FIXME actual implementation here!
#     pass
# Output: ./my_file.py:2:7: T100 Fixme found (FIXME)

Requires flake8 >= 3.7; Python >= 3.6 officially supported.

Verify before relying

  • Whether the plugin remains compatible with recent flake8 versions beyond 3.7.
  • Whether error codes T100, T101, T102 remain the current standard or have changed.
  • Compatibility with Python versions beyond 3.8.

Package facts

License Apache-2.0 (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 2,657 days since the last release
Last repo commit
First released
Downloads 252,114/month — #8,558 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: flake8_fixme-1.1.1-py2.py3-none-any.whl

Keywords: flake8, plugin, fixme, todo, xxx, hack

Development Status :: 5 - Production/StableFramework :: Flake8Intended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Topic :: Software Development :: Quality Assurance

Tags

flake8 fixme todo checkerdetect temporary code commentsenforce code quality markersfind fixme annotationsflake8 plugin temporary notescode review automationdevelopment note detection
lintingcode-qualityflake8-plugin

More Quality Assurance packages