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.

Interface
GUI + CLI
Full graphical interface and a command-line mode for scripted use.
Auth
Azure AD
Microsoft Graph API with auto-refreshing OAuth tokens stored locally.
Distribution
.exe standalone
PyInstaller build — no Python installation required on the target machine.
Used in
Production
Fires daily risk reports from Porto Real Asset's Airflow pipelines every morning.

What Krvo does

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

View on GitHub ↗