From 0769a290dac6e7437a83c2cb0ab508a60392f648 Mon Sep 17 00:00:00 2001 From: yuneng-jiang Date: Tue, 9 Dec 2025 19:34:09 -0800 Subject: [PATCH] Sendgrid integration + bump enterprise package --- ...litellm_enterprise-0.1.24-py3-none-any.whl | Bin 0 -> 104409 bytes .../dist/litellm_enterprise-0.1.24.tar.gz | Bin 0 -> 43393 bytes .../send_emails/sendgrid_email.py | 79 ++++++++++++++ .../send_emails/test_sendgrid_email.py | 99 ++++++++++++++++++ 4 files changed, 178 insertions(+) create mode 100644 enterprise/dist/litellm_enterprise-0.1.24-py3-none-any.whl create mode 100644 enterprise/dist/litellm_enterprise-0.1.24.tar.gz create mode 100644 enterprise/litellm_enterprise/enterprise_callbacks/send_emails/sendgrid_email.py create mode 100644 tests/test_litellm/enterprise/enterprise_callbacks/send_emails/test_sendgrid_email.py diff --git a/enterprise/dist/litellm_enterprise-0.1.24-py3-none-any.whl b/enterprise/dist/litellm_enterprise-0.1.24-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..a26b0458c9d4d6b8593a043b4873eeafdc0712fe GIT binary patch literal 104409 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 Uuo8eB1mM3Ge&CO@Q*@aB1MIivBme*a literal 0 HcmV?d00001 diff --git a/enterprise/dist/litellm_enterprise-0.1.24.tar.gz b/enterprise/dist/litellm_enterprise-0.1.24.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..4361910f4b36aa79747f8e9201c1e3c295e2624c GIT binary patch literal 43393 zcmX7PV|X6j_jPPLjT+l_nl!d;I}IE4j*TZtW81cEqp@u?);({3|98He`7qa9``WY5 zTI=k+hAbKZ0pi~U1vuEcTRJ#68e2NKTe`Zq+PYaXv$3$VaB#7>o4P_=c3=4Hk2UbL zf!uJ{m$r?+@tX9N>g6atx~^#?cN(^|UY(!owTLo9B9<{zrBFF6vKaS$WLUG9>Uv&dx_?wZ|Q;TiynTVVEc2i34y= z^{42jEGfSxlU4M>kjYr55%|!r+k5W12{(U|=t&b~3o}>0dUPzGW08Bb^Ot9kmq^lK zOCgY@fSjl7HXJ|dDf2YukX2?EOmviKiN6S)Z@$4zx;zpi_>;&4HdK3vE7D1s*TT(o zFN&KdMGa^%s|;iD(2UhF5DFLXp+o&$Z*jV=W0$Zw7Nk~z#zB~^N+h35)yx9Wp`;j7-YO5AgrepHPr`M+S+R+~6mz9x zg#^PfH9LHYg?llw+4i@^WU3=2Rqo>Agw5;<8Er?&MJFWx4N^T{BBI;aQxZo5NHn7C z*y{ee%?pPV=T>K4E*|ws?w9!dRumgq&70(nuimO03Xv!QH5w|9HFwW=QEIA7W=%ku z*sB?0G{J3QdZFe}ShCLu3A;z0+y(S>c+i1#Y2Y`XN!!HbG#-K$q*{J^3b_YT-Fmp+ z*Eot-3SZ0(F<_C7*28QQTbR!ZAvGYpgAqzBFo#m_LIolxXH2(HUOHo*elGv*XrBu+u1Y)$_d= zmV(cTDY9`ND`nLp?ZIxQJjNNx1lm)M%^;isJQ=lD8fS;fZ8;^nUb6mW?PZt{XBEW% zmu(3Jx0Dp^FTamk;!o}4Aw&9X0-i*eKb2ltd&i!17t&R*W5Ol4)+Fio&zMJl$i2RE zhPmJF`|@xxFA&8|<(rx|k`tL*NR)oq7iGL;CN}zEm&)Em1iIc^V*ConR9KHCQYWy^txiBBAoD!P6+I@WE{qb<9yHAeb zo4cpqQi!!QE&OOMdc2Z|%uU|r_*t>L-^1A{R)kTG+}M9f0(M4U>y@YPgX3>KfUWtv z`J)xJ>(BWk#05W)56hLj_4`SxG<^|Tq)E3Iy&%0D;||GQ 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 literal 0 HcmV?d00001 diff --git a/enterprise/litellm_enterprise/enterprise_callbacks/send_emails/sendgrid_email.py b/enterprise/litellm_enterprise/enterprise_callbacks/send_emails/sendgrid_email.py new file mode 100644 index 0000000000..33e00acd1b --- /dev/null +++ b/enterprise/litellm_enterprise/enterprise_callbacks/send_emails/sendgrid_email.py @@ -0,0 +1,79 @@ +""" +LiteLLM x SendGrid email integration. + +Docs: https://docs.sendgrid.com/api-reference/mail-send/mail-send +""" + +import os +from typing import List + +from litellm._logging import verbose_logger +from litellm.llms.custom_httpx.http_handler import ( + get_async_httpx_client, + httpxSpecialProvider, +) + +from .base_email import BaseEmailLogger + + +SENDGRID_API_ENDPOINT = "https://api.sendgrid.com/v3/mail/send" + + +class SendGridEmailLogger(BaseEmailLogger): + """ + Send emails using SendGrid's Mail Send API. + + Required env vars: + - SENDGRID_API_KEY + """ + + def __init__(self): + self.async_httpx_client = get_async_httpx_client( + llm_provider=httpxSpecialProvider.LoggingCallback + ) + self.sendgrid_api_key = os.getenv("SENDGRID_API_KEY") + verbose_logger.debug("SendGrid Email Logger initialized.") + + async def send_email( + self, + from_email: str, + to_email: List[str], + subject: str, + html_body: str, + ): + """ + Send an email via SendGrid. + """ + if not self.sendgrid_api_key: + raise ValueError("SENDGRID_API_KEY is not set") + + verbose_logger.debug( + f"Sending email via SendGrid from {from_email} to {to_email} with subject {subject}" + ) + + payload = { + "from": {"email": from_email}, + "personalizations": [ + { + "to": [{"email": email} for email in to_email], + "subject": subject, + } + ], + "content": [ + { + "type": "text/html", + "value": html_body, + } + ], + } + + response = await self.async_httpx_client.post( + url=SENDGRID_API_ENDPOINT, + json=payload, + headers={"Authorization": f"Bearer {self.sendgrid_api_key}"}, + ) + + verbose_logger.debug( + f"SendGrid response status={response.status_code}, body={response.text}" + ) + return diff --git a/tests/test_litellm/enterprise/enterprise_callbacks/send_emails/test_sendgrid_email.py b/tests/test_litellm/enterprise/enterprise_callbacks/send_emails/test_sendgrid_email.py new file mode 100644 index 0000000000..4ecb4872aa --- /dev/null +++ b/tests/test_litellm/enterprise/enterprise_callbacks/send_emails/test_sendgrid_email.py @@ -0,0 +1,99 @@ +import os +import sys +import unittest.mock as mock + +import pytest +from httpx import Response + +sys.path.insert(0, os.path.abspath("../../..")) + +from litellm_enterprise.enterprise_callbacks.send_emails.sendgrid_email import ( + SendGridEmailLogger, +) + + +@pytest.fixture +def mock_env_vars(): + with mock.patch.dict(os.environ, {"SENDGRID_API_KEY": "test_api_key"}): + yield + + +@pytest.fixture +def mock_httpx_client(): + with mock.patch( + "litellm_enterprise.enterprise_callbacks.send_emails.sendgrid_email.get_async_httpx_client" + ) as mock_client: + mock_response = mock.AsyncMock(spec=Response) + mock_response.status_code = 202 + mock_response.text = "accepted" + + mock_async_client = mock.AsyncMock() + mock_async_client.post.return_value = mock_response + mock_client.return_value = mock_async_client + + yield mock_async_client + + +@pytest.mark.asyncio +async def test_send_email_success(mock_env_vars, mock_httpx_client): + logger = SendGridEmailLogger() + + from_email = "test@example.com" + to_email = ["recipient@example.com"] + subject = "Test Subject" + html_body = "

Test email body

" + + await logger.send_email( + from_email=from_email, to_email=to_email, subject=subject, html_body=html_body + ) + + mock_httpx_client.post.assert_called_once() + call_args = mock_httpx_client.post.call_args + assert call_args[1]["url"] == "https://api.sendgrid.com/v3/mail/send" + + payload = call_args[1]["json"] + assert payload["from"] == {"email": from_email} + assert payload["personalizations"][0]["to"] == [{"email": to_email[0]}] + assert payload["personalizations"][0]["subject"] == subject + assert payload["content"][0]["type"] == "text/html" + assert payload["content"][0]["value"] == html_body + + assert call_args[1]["headers"] == {"Authorization": "Bearer test_api_key"} + + +@pytest.mark.asyncio +async def test_send_email_missing_api_key(mock_httpx_client): + with mock.patch.dict(os.environ, {}, clear=True): + logger = SendGridEmailLogger() + + with pytest.raises(ValueError): + await logger.send_email( + from_email="test@example.com", + to_email=["recipient@example.com"], + subject="Test Subject", + html_body="

Test email body

", + ) + + mock_httpx_client.post.assert_not_called() + + +@pytest.mark.asyncio +async def test_send_email_multiple_recipients(mock_env_vars, mock_httpx_client): + logger = SendGridEmailLogger() + + from_email = "test@example.com" + to_email = ["recipient1@example.com", "recipient2@example.com"] + subject = "Test Subject" + html_body = "

Test email body

" + + await logger.send_email( + from_email=from_email, to_email=to_email, subject=subject, html_body=html_body + ) + + mock_httpx_client.post.assert_called_once() + payload = mock_httpx_client.post.call_args[1]["json"] + + assert payload["personalizations"][0]["to"] == [ + {"email": "recipient1@example.com"}, + {"email": "recipient2@example.com"}, + ]