Skip to main content

Add your description here

Project description

inkdrop

Interactive terminal email sender with recipient history and attachment autocomplete.

Install

From PyPI:

uv tool install inkdrop

Or from source, in this project directory:

uv sync
uv tool install .

First run

No manual config file needed — just run:

inkdrop

The first time, it'll walk you through a one-time setup:

  1. It asks for your Gmail address and an App Password (not your regular Gmail password — Gmail no longer accepts that over SMTP). Create one at: https://myaccount.google.com/apppasswords (requires 2-Step Verification to be turned on for your Google account).
  2. It verifies the credentials with a real login attempt before saving anything, so a typo doesn't silently get stored.
  3. It saves the credentials for future runs — using your OS's secure keyring (GNOME Keyring / KWallet / Keychain) when one is available. If no system keyring is found (common on WSL or headless Linux without a keyring daemon running), it automatically falls back to a locally encrypted file under ~/.inkdrop/ instead — no extra setup required either way.

Every run after that is silent — no prompts, straight to composing an email.

To switch accounts or rotate your app password later:

inkdrop --reconfigure

This clears the saved credentials; the next run starts setup again.

Attachments

Drop files you frequently attach into ~/.inkdrop/attachments/ — it's created automatically on first run, and shows up as autocomplete suggestions when the app asks "File to attach". Typing a path with / falls back to full filesystem completion for anything else.

Data stored

Everything lives under ~/.inkdrop/ , independent of where inkdrop itself is installed:

File Purpose
attachments/ Files you commonly attach, shown in autocomplete
email_history.json Past recipient addresses, shown in autocomplete
.secret.key , credentials.enc Only present if no OS keyring was found — locally encrypted Gmail credentials ( chmod 600 )

If a system keyring is available, credentials are stored there instead and none of the .secret.key / credentials.enc files are created.

Development

Run without installing:

uv run inkdrop

To pick up code changes after an uv tool inkdrop , reinstall:

uv tool install . --reinstall

Platform support

v1 targets Linux only (tested on Fedora/WSL). macOS and Windows keyring backends should work via the same keyring library, but are untested.

Project details


Download files

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

Source Distribution

inkdrop-0.1.0.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

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

inkdrop-0.1.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file inkdrop-0.1.0.tar.gz.

File metadata

  • Download URL: inkdrop-0.1.0.tar.gz
  • Upload date:
  • Size: 19.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for inkdrop-0.1.0.tar.gz
Algorithm Hash digest
SHA256 673d8ab8f77810ae4da5b87076b114ef1e5f991ff784d4804069aa172958f722
MD5 50c89f3554e52c5b5b830b2e4dabf5e8
BLAKE2b-256 7b40da33e3f30be604bce1e6c122c020027f2ca1550f164f4dacf64ba697a953

See more details on using hashes here.

File details

Details for the file inkdrop-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: inkdrop-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for inkdrop-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7ba0cca871219f11bc171220a0cc772465c27dd5d55026378e4a7a2a7ad1dd85
MD5 0287471b35261162f77d18c0f4f1f9b7
BLAKE2b-256 3b6acdf66e23c43666a5358028bce2e466dcefce9aa20265d9754a63a2aa96b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page