Skip to main content

RAVEN

A minimal terminal email client — read and send, arrow-key navigation, no Enter-mashing. Zero runtime dependencies: imaplib, smtplib, ssl, email, and msvcrt are all Python standard library.

 RAVEN — you@gmail.com

   ✎ Compose   │ >  Alice                   Re: build broken again
   ▤ Inbox     │    GitHub                  [repo] New issue opened
   ↻ Refresh   │    Bob                     lol did you see this
   ✕ Quit      │

Sidebar on the left, message list on the right. / switches focus between them, / moves within whichever side is focused, Enter activates. c/r/q still work as instant shortcuts from anywhere.

Install

From this folder:

pip install -e .

(-e = editable install; edit src/raven/cli.py and changes take effect immediately, no reinstall needed. Drop -e for a normal install.)

This registers a raven command on your PATH — no more python raven.py.

Configure

Copy raven.ini.example to raven.ini and fill in your details. Put it in either:

  • the folder you run raven from, or
  • ~/.raven/raven.ini (or %APPDATA%\raven\raven.ini on Windows) — works from anywhere, recommended once you're happy with it.
host = imap.gmail.com
port = 993
smtp_host = smtp.gmail.com
smtp_port = 465
user = you@gmail.com
pass = your-app-password-here
fetch_count = 30

Gmail: use an App Password, not your real password (needs 2-Step Verification enabled first). Same password works for both IMAP and SMTP.

Run

raven
Key Action
← / → switch focus: sidebar / message list
↑ / ↓ move selection (in whichever side is focused)
Enter open message, or activate the focused sidebar item
c compose new message (shortcut, from anywhere)
r refresh (shortcut, from anywhere)
q quit (shortcut, from anywhere)
any key (in message view) go back

Composing

Press c or use the sidebar. All three fields — To, Subject, Body — are laid out and editable at once:

 New message                        (Esc cancel)

 > To:      friend@example.com
   Subject: Quick check-in
   Body:
     Hey, just checking in about the thing.

     Send       Cancel

/ moves between fields (and between lines inside the body). / moves the cursor within a field — so if you spot a typo two fields back, just arrow up and fix it, no need to start over. Home/End jump to the start/end of a line. Reaching the bottom of Body moves you to the Send/Cancel buttons; / picks one, Enter activates it. Esc cancels from anywhere in the form.

Notes

  • raven.ini is a plaintext credentials file — don't commit it, don't share it. It's not part of the installed package; it's your local config.
  • Prefers a message's plain-text part. HTML-only messages go through a small built-in HTML→text reducer (strips scripts/styles/hidden preheader text, keeps link URLs inline).
  • No message caching between runs — r re-fetches from the server.

Uninstall

pip uninstall raven-mail

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

raven_mail-0.2.0.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

raven_mail-0.2.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file raven_mail-0.2.0.tar.gz.

File metadata

  • Download URL: raven_mail-0.2.0.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.1

File hashes

Hashes for raven_mail-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9e80f476df2d337e9fe0a8493dbeaeb2f9e0c7adb88a50735309c12e8f323ff4
MD5 f6b2de7c77a03dbdf91df678b262e157
BLAKE2b-256 61a7419b06c9e765ceee3824eca40fd723e0a7dc0e2943f126fd5b1f62ca07be

See more details on using hashes here.

File details

Details for the file raven_mail-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: raven_mail-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.1

File hashes

Hashes for raven_mail-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 527d64f74c81c61cb65e562a1672efdc6e1a10cd238da9ee9febf971db5ead42
MD5 1f5b63e1d1c44f964b63bd2f16960c5d
BLAKE2b-256 f4bdaac96fd0b00b0eb85cf0ff52fa7fe79b4a29116a176b91a6b0fad29c23ad

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page