Metadata-Version: 2.1
Name: todo_extractor
Version: 0.2.1
Summary: Extracts TODO: notes from source code.
Home-page: https://github.com/vikahl/todo-extractor
License: UNKNOWN
Author: Viktor Ahlqvist
Author-email: flit@site.rxbc.se
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-mock; extra == "test"
Requires-Dist: tox; extra == "test"
Requires-Dist: black; extra == "test"
Requires-Dist: pylint; extra == "test"
Requires-Dist: mypy; extra == "test"
Requires-Dist: pre-commit; extra == "test"
Provides-Extra: test

# todo-extractor

Extracts TODO comments from code.

The purpose of this project is to serve as an example of going from a script to a full-fledged project and to be used with the presentation [Modern Python development](https://github.com/vikahl/modern-python-development) at [Omegapoints conference OpKoKo 19.2](https://opkoko.omegapoint.se).

It might be turned into something useful, but currently it's main purpose is to give examples to the presentation.

## Usage

Run it from the command line like:

```
$ todo_extractor <optional directory>
```

if no directory is specified the current directory will be used.

todo-extrator prints a JSON output with match, line number and filename.


## Development

Development should preferable always be done in a virtualenv.

Installation is done with flit, which needs to be first be installed in the virtualenv (`pip3 install flit`).

The package can be installed in development mode with

```
flit install --symlink
```

or on Windows

```
flit install --pth
```

This will install the package in editable mode and also install the dev-dependencies.

## Testing

Testing can be done with pytest: `pytest --cov=todo_extractor` which will also measure test coverage.

To test the installed package, use tox (`tox`). This will test the installed package on all supported Python versions.

