Faça você mesmo

Quando trabalhei na Kenvue, a equipe de ciência de dados frequentemente precisava enviar e-mails de alerta para outras equipes. O problema é que as especificações de HTML para e-mails variam bastante, e os cientistas de dados não tinham o tempo ou a expertise para criar e-mails manualmente.

A solução que desenvolvi foi uma pequena biblioteca em Python para gerar e-mails em HTML e texto simples, com suporte a imagens, tabelas e gráficos do Matplotlib.

Componentes simples, como títulos e parágrafos, podem ser adicionados ao objeto de e-mail.

import emailbuilder as eb

# Create eb.EMail object
email = eb.EMail(
    "EMail Subject",
    "sender@example.com",
    "receiver@example.com"
)

email.append(eb.Header("Hello World!"))
email.append(eb.Paragraph("Lorem ipsum dolor sit amet consectetur"))

Pode-se gerar tabelas a partir de data frames do Pandas:

df = pd.DataFrame({
    'Name': ['Alice', 'Bob'],
    'Age': [25, 30]
})

table = pd.to_dict(orient='dict')

email.append(eb.Table(table))

Também pode-se incluir gráficos do Matplotlib:

plt.figure()
plt.plot([1, 2])
plt.title("y = x")

email.append(eb.Figure(plt.gcf(), "A chart for the formula y = x."))

Tanto imagens como gráficos podem ter texto alternativo.

Mais informações podem ser encontradas no repositório no github.