<jupyter_start><jupyter_text>pip install --user jupyter_contrib_nbextensionsjupyter contrib nbextension install --userjupyter nbextension enable spellchecker/main this is markdown with misspell words like wird<jupyter_code>!nbspellcheck 0_wbs.md 
#pip install --user nbspellcheck
!~/.local/bin/nbspellcheck.py 0_wbs.md 
! ls ~/.local/bin
from spellchecker import SpellChecker

spell = SpellChecker()  # loads default word frequency list
#spell.word_frequency.load_text_file('./0_wbs.md')

# if I just want to make sure some words are not flagged as misspelled
spell.word_frequency.load_words(['microsoft', 'apple', 'google'])
spell.known(['microsoft', 'google'])  # will return both now!
help(spell)
spell.correction('spellin')
import re
def words(text): return re.findall(r'\w+', text.lower())
my_words = words(open('0_wbs.md').read())
my_words
spell.unknown(my_words)
spell.correction('mispel')
! jupyter nbconvert --to rst simple_md.ipynb
! cat simple_md.rst
! jupyter nbconvert --to markdown simple_md.ipynb
from IPython.display import display, Markdown

with open('simple_md.md', 'r') as fh:
    content = fh.read()

display(Markdown(content))<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.12139219015280135, 'fraction_numerical': 0.003395585738539898, 'mean_word_length': 6.059880239520958, 'pattern_counts': {'":': 0, '<': 5, '<?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}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '128307', 'license': 'MIT', 'n_tokens_mistral': 422, 'n_tokens_neox': 424, 'n_words': 102, 'path': '1_ET/Attic/speak-n-spell.ipynb', 'repo_name': 'tonybutzer/etscrum', 'size': '1178'}