Krvo · automated email at pipeline scale.
A digital messenger for automated email dispatch via Microsoft Graph API. Handles file routing, recipient management, customizable templates, and rate limiting — with both a GUI and a CLI. I use it in production to fire daily risk reports from my Airflow pipelines.
From pipeline output to inbox, automatically.
Krvo bridges data pipelines and email recipients. When a pipeline finishes producing a report or data file, Krvo picks up the output, applies routing rules to determine who gets it, fills in the email template, and dispatches via the Microsoft Graph API — all without manual intervention.
The design is intentionally file-centric: you drop files into monitored directories and rules determine what happens next. This makes it trivial to wire into any existing workflow, including Airflow DAGs.
What Krvo does
- Automated email dispatch via Microsoft Graph API — no SMTP server required
- Directory-based routing rules: which files in which folder go to which recipient list
- Customizable email templates with dynamic placeholders:
{filename},{date},{datetime} - Full GUI for interactive configuration and manual dispatch
- CLI mode for scripted and pipeline-triggered execution
- Rate limiting to respect Microsoft Graph API quotas
- Credentials stored locally with automatic token refresh — no repeated logins
- Distributed as a standalone Windows
.exevia PyInstaller — no Python required
Download & setup
Download & configuração
1. Download
1. Baixar
Go to the GitHub Releases page and download the latest krvo.exe. No Python installation required — it's a standalone executable built with PyInstaller.
Acesse a página de Releases no GitHub e baixe o último krvo.exe. Sem Python, sem instalador — executável standalone gerado com PyInstaller.
2. Authenticate
2. Autenticar
On first launch, Krvo opens a browser window for Azure AD OAuth consent. Sign in with the Microsoft / Outlook account you want to send email from. Credentials are stored locally and refresh automatically.
Na primeira execução, o Krvo abre uma janela do navegador para o consentimento OAuth do Azure AD. Faça login com a conta Microsoft / Outlook que enviará os e-mails. As credenciais ficam salvas localmente e se renovam automaticamente.
3. Configure & run
3. Configurar & rodar
In the GUI, set up your routing rules: which directories to watch, which files go to which recipient lists, and what the email template should look like. For pipeline use, call krvo.exe --cli from your Airflow DAG or any script.
Na GUI, configure suas regras de roteamento: quais diretórios monitorar, quais arquivos vão para quais listas de destinatários e como deve ser o template do e-mail. Para uso em pipeline, chame krvo.exe --cli a partir do seu DAG do Airflow ou qualquer script.
Stack
Core
Python
Email & auth
Microsoft Graph API · Azure AD
GUI & distribution
tkinter · PyInstaller