<commit_before>1. markdown snippets
  a. github actions for mbsnippets
2. powershell scripts
3. starter projects
4. github action that pushes to pypi
5. options support
6. check all uses of default reporter in tests
7. make code more pythonic (method overloads vs default parameters)
8. *** get the python reporter to work [not swallow output] with separate process launch
   (or not fire up in separate thread at all)
9. DONE get the python reporter to work on windows
10. change setup.py to pull in requirements.txt - and check requirements
11. Fail test if there are duplicate names - pylint ?
12. *** Test nonblocking difftool launching
  a. Linux - also why doesn't meld appear by default?
  b. Mac
13. python type hints - use mypy linter to check it - see code snippet below
14. Agree on defaults: should be \n instead of os specific when writing, BOM on new file creation,
     the new file creation handles writing with correct encoding
15. combination approvals needs line ending option

  def test_mypy(self) -> None:
       try:
           import mypy.api
       except ImportError:
           print("mypy not found")
           self.skipTest("mypy not found")
       stdout, stderr, exit_code = mypy.api.run([
           '--config-file', 'mypy.ini',
           SCRIPT_DIR,
       ])
       self.assertEqual(0, exit_code, "\n\n" + stdout + stderr)<commit_msg>d   Reminder to add integration tests<commit_after>1. markdown snippets
  a. github actions for mbsnippets
2. powershell scripts
3. starter projects
4. github action that pushes to pypi
5. options support
6. check all uses of default reporter in tests
7. make code more pythonic (method overloads vs default parameters)
8. *** get the python reporter to work [not swallow output] with separate process launch
   (or not fire up in separate thread at all)
9. DONE get the python reporter to work on windows
10. change setup.py to pull in requirements.txt - and check requirements
11. Fail test if there are duplicate names - pylint ?
12. *** Test nonblocking difftool launching
  a. Linux - also why doesn't meld appear by default?
  b. Mac
13. python type hints - use mypy linter to check it - see code snippet below
14. Agree on defaults: should be \n instead of os specific when writing, BOM on new file creation,
     the new file creation handles writing with correct encoding
15. combination approvals needs line ending option
16. add tests to test the installed library - integration or system tests. For example, to confirm that JSON reporter files work. tox might help us.

  def test_mypy(self) -> None:
       try:
           import mypy.api
       except ImportError:
           print("mypy not found")
           self.skipTest("mypy not found")
       stdout, stderr, exit_code = mypy.api.run([
           '--config-file', 'mypy.ini',
           SCRIPT_DIR,
       ])
       self.assertEqual(0, exit_code, "\n\n" + stdout + stderr)
{'fraction_non_alphanumeric': 0.06728458633710951, 'fraction_numerical': 0.01579128046687264, 'mean_word_length': 3.0304287690179805, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3882089', 'n_tokens_mistral': 834, 'n_tokens_neox': 782, 'n_words': 399}