Skip to main content

TODO-finder

Build Status codecov

It finds TODOs!

Requirements

Python 3.8

To install, run pip install todofinder.

Usage

Specify a glob pattern with -g and use -o to specify where to store the CSV report.

python -m todofinder -g <glob_pattern> ... <glob_pattern> -o FILE

The CSV file will have the following fields, and it will have a header with these field names:

  • file: absolute path to the file
  • line_number: the TODO's line number
  • text: The text after "TODO:" (colon optional)
  • token: The matched token (either TODO or FIXME)
  • full_line: The complete line (newlines stripped)
  • filetype: The file's file type (part after the first dot).

Plugins

You can use -p or --plugins to enable language-specific parsers that will prevent false positives and skip over lines without comments. Currently available plugins:

  • Python: -p py
  • C: -p c

You can have one or more active plugins (e.g. -p py c) or all at once (-p all)

Blame

You can use -b or --blame to run git blame on all files with TODOs and extract info. This will add the following fields to the CSV report:

  • author: The name of the person who last touched the line
  • date: The date at which the last commit touching the line was made
  • commit: The commit hash
  • message: The first line of the commit message

Note that using --blame will make the script run much, much slower, since it shells out to git for every file.

Metadata

Release files for todofinder 1.2.0

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

Source distribution (sdist)

Source distribution for todofinder 1.2.0
File Size Uploaded
todofinder-1.2.0.tar.gz 8.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for todofinder 1.2.0
File Interpreter ABI Platform
todofinder-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.8 kB

Release files / todofinder-1.2.0.tar.gz

Download URL todofinder-1.2.0.tar.gz
Size 8.7 kB
Tags Source
SHA-256 checksum
How to use checksums
c299882ebca45e17cedc6154d03244a9d2e94cb28450df393729e53dfea7537d
BLAKE2b-256 checksum
How to use checksums
03d1bce5740bbc5364f54cf37e13e4c11d74844d9692d6445813fd69a2d2f858
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0.post20200106 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

Release files / todofinder-1.2.0-py3-none-any.whl

Download URL todofinder-1.2.0-py3-none-any.whl
Size 6.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2b6a79fbc7484f9c995bc57a9a8688f8ef69dc0d73fe0650e75fea52d0c540a5
BLAKE2b-256 checksum
How to use checksums
5e5c66a76662ea73cc5c65f07eabe19e1c0c8285fb0609916561a3eea0eae0a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0.post20200106 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.0.2

2 release files

0.0.1

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