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.