Scan reflection files and create a queryable database.
  • Python 97.2%
  • Shell 2.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-15 13:54:17 -07:00
.flake8 Make format script 2026-01-05 12:12:09 -08:00
.gitignore Make update script 2026-06-04 11:38:50 -07:00
constants.py Unnecessary formatting update 2026-07-09 18:11:07 -07:00
format.sh Make format script 2026-01-05 12:12:09 -08:00
get_metadata.py Add metadata list 2026-07-01 10:32:36 -07:00
README.md README fix 2025-01-22 13:27:51 -08:00
reflscan Unnecessary formatting update 2026-07-09 18:11:07 -07:00
reflscan.py Fix alignment 2026-07-15 13:54:17 -07:00
requirements.txt Unnecessary formatting update 2026-07-09 18:11:07 -07:00
test_main.py Use Black on all files 2026-01-05 12:09:30 -08:00
update.sh simplify update 2026-07-15 13:25:10 -07:00
utils.py Use Black on all files 2026-01-05 12:09:30 -08:00

Reflection Scanner

Loads your reflection files into a DB and queries them by task name, outputting the data as a TSV. Also outputs a DB so you can query yourself if you want.

Reflection files

I've been using these at work for a while. The structure of my files are generally as follows:

  • Sections are the top levels. Like "Good" or "Bad" in this example. Empty sections are ignored.
    • The Good section has it's own table and compiles with categories. All other sections will be saved without any parsing beyond links.
  • Tasks are anything within a section. They are recursive and will be stored with all parent's text.
  • Categories preface tasks and are single characters. I use "M" for "Meta" or "P" for "Project work", etc. Categories are inherited by all children when applied to a parent.
  • Links in the task text will be extracted and put into their own column.
## 19690420

Whatever notes are up here. Not parsed.

### Reflection

- Good
  - Team
    - M: Ran team sync up.
  - P: Refresh Project
    - Buttons
      - D: Talked with team about how to improve buttons.
      - [Fixed broken buttons in 10.1.1](http://example.com). And another [thing](http://zombo.com).
- Bad
  - Didn't do XYZ.
- Any other sections you would want

Development

  • Create a new environment: python -m venv env.
  • Install requirements: pip3 install -r requirements.txt.
  • Use pytest: pytest
  • use coverage.py: coverage run -m pytest, coverage html