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.
New files: - download_poetry.py: Download/parse script with 15 extractors - poetry/*.json: Pre-parsed poetry from Project Gutenberg Poets included: Shakespeare (154), Dickinson (439), Whitman (383), Blake (43), Keats (10), Poe (108), E.B. Browning (44), T.S. Eliot (5), Frost (82), Yeats (48), Khayyam (176), Burns (563), Wordsworth (51), Shelley (1049) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> |
1 week ago | |
|---|---|---|
| letters | 1 week ago | |
| poetry | 1 week ago | |
| .gitignore | 1 week ago | |
| README.md | 1 week ago | |
| download_letters.py | 1 week ago | |
| download_poetry.py | 1 week ago | |
| love_letters.py | 1 week ago | |
README.md
letters & poetry
Python apps that display random historic love letters and classic poetry from Project Gutenberg. Includes a web UI for both at hicalsoft.com/letters and hicalsoft.com/poetry.
Quick Start
# Love Letters
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 and poetry/ with 3,100+ poems — no download needed.
Refreshing / Adding Sources
To re-download collections from Project Gutenberg:
# Letters
python3 download_letters.py # Download all letter sources
python3 download_letters.py --list # List available sources
# Poetry
python3 download_poetry.py # Download all poetry sources
python3 download_poetry.py --list # List available sources
Letter 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 |
Poetry Sources
| Collection | Poet | Period | Poems |
|---|---|---|---|
| Shakespeare's Sonnets | William Shakespeare | 1609 | 154 |
| Poems, Three Series | Emily Dickinson | 1890–1896 | 439 |
| Leaves of Grass | Walt Whitman | 1891–1892 | 383 |
| Songs of Innocence and of Experience | William Blake | 1789–1794 | 43 |
| Poems Published in 1820 | John Keats | 1820 | 10 |
| Complete Poetical Works | Edgar Allan Poe | 1827–1849 | 108 |
| Sonnets from the Portuguese | Elizabeth Barrett Browning | 1850 | 44 |
| The Waste Land | T.S. Eliot | 1922 | 5 |
| Mountain Interval | Robert Frost | 1916 | 35 |
| Selected Poems | Robert Frost | 1913–1916 | 47 |
| The Wind Among the Reeds | W.B. Yeats | 1899 | 48 |
| The Rubaiyat of Omar Khayyam | Omar Khayyam (trans. FitzGerald) | 11th–12th c. | 176 |
| Poems and Songs | Robert Burns | 1771–1796 | 563 |
| Lyrical Ballads | William Wordsworth | 1798 | 51 |
| Complete Poetical Works | Percy Bysshe Shelley | 1810–1822 | 1049 |
All texts are sourced from Project Gutenberg and are in the public domain.
Web UI
The hicalsoft.github.io/ directory contains a standalone web interface:
- /letters — Browse love letters by author, with random letter button
- /poetry — Browse poetry by poet, with random poem button
Requirements
Python 3.10+ (no external dependencies).