bananamarkov is a small Python CLI that builds a Markov chain from input text
and generates new nonsense text that always includes the word banana.
It accepts:
- plain text via
--text - text-like files such as
.txt,.md,.py,.json - PDFs if
pdftotextis installed on the system
Because forcing a serious-looking text generator to always say banana is
funny, and because it is a good excuse to build a tiny reusable Markov model.
python3 /root/bananamarkov/bananamarkov.py --text "the lobster writes code at night" --words 20python3 /root/bananamarkov/bananamarkov.py --input notes.txt --input story.md --words 30If pdftotext is available:
python3 /root/bananamarkov/bananamarkov.py --input paper.pdf --words 40- uses a second-order Markov chain
- tokenizes simple words and punctuation
- guarantees
bananaappears in generated output - optionally emits JSON with
--json
python3 -m unittest discover -s /root/bananamarkov/tests -v