You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Architecture change: - letters/ directory stores pre-parsed JSON, committed to git - download_letters.py handles fetching from Gutenberg (run by maintainers) - love_letters.py reads from letters/ only (no internet needed) New sources (6 collections, 774 additional letters): - Robert Browning & Elizabeth Barrett Browning, Vol. 1 (281 letters) - Robert Browning & Elizabeth Barrett Browning, Vol. 2 (292 letters) - Robert Burns to Clarinda / Agnes McLehose (60 letters) - Dorothy Osborne to Sir William Temple (51 letters) - Beethoven's Letters, love letters selected (30 letters) - Mozart's Letters, love letters selected (60 letters) Total: 1,307 letters from 11 collections spanning the 12th–19th centuries. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> |
1 week ago | |
|---|---|---|
| letters | 1 week ago | |
| .gitignore | 1 week ago | |
| README.md | 1 week ago | |
| download_letters.py | 1 week ago | |
| love_letters.py | 1 week ago | |
README.md
letters
A Python app that displays random historic love letters from authentic sources, downloaded from Project Gutenberg.
Quick Start
python3 love_letters.py # Show a random love letter
python3 love_letters.py -n 3 # Show 3 random love letters
python3 love_letters.py --list # List available collections
python3 love_letters.py --source keats_brawne # Filter by source
The letters/ directory ships with 1,300+ pre-parsed letters — no download needed.
Refreshing / Adding Sources
To re-download all letter collections from Project Gutenberg:
python3 download_letters.py # Download (skips existing)
python3 download_letters.py --force # Re-download everything
python3 download_letters.py --list # List available sources
Sources
| Collection | Author → Recipient | Period | Letters |
|---|---|---|---|
| Henry VIII to Anne Boleyn | Henry VIII → Anne Boleyn | c. 1527–1528 | 18 |
| Mary Wollstonecraft to Gilbert Imlay | Mary Wollstonecraft → Gilbert Imlay | 1793–1795 | 75 |
| Letters of Abelard and Heloise | Abelard & Heloise | 12th century | 6 |
| Napoleon's Letters to Josephine | Napoleon Bonaparte → Josephine | 1796–1812 | 395 |
| Letters of John Keats to Fanny Brawne | John Keats → Fanny Brawne | 1819–1820 | 39 |
| Robert Browning & Elizabeth Barrett Barrett, Vol. 1 | Browning ↔ Barrett | 1845–1846 | 281 |
| Robert Browning & Elizabeth Barrett Barrett, Vol. 2 | Browning ↔ Barrett | 1845–1846 | 292 |
| Robert Burns to Clarinda | Robert Burns → Agnes McLehose | 1787–1794 | 60 |
| Dorothy Osborne to Sir William Temple | Dorothy Osborne → William Temple | 1652–1654 | 51 |
| Beethoven's Letters (love letters selected) | Ludwig van Beethoven | 1790–1826 | 30 |
| Mozart's Letters (love letters selected) | Wolfgang Amadeus Mozart | 1769–1791 | 60 |
All texts are sourced from Project Gutenberg and are in the public domain.
Requirements
Python 3.10+ (no external dependencies).