brevo-python
What it is and what it does
Brevo-python is the official SDK for the Brevo marketing and communication platform, wrapping HTTP calls to Brevo's REST API into typed Python objects. It handles transactional email, SMS, contact management, campaigns, events, and loyalty programs through a clean client interface. The package uses httpx for HTTP transport and pydantic for request/response validation, ensuring type safety across modern Python versions (3.8 through 3.15).
The SDK offers both synchronous and asynchronous clients (Brevo and AsyncBrevo) with built-in retry logic, timeout control, and raw response access. Version 5.0.2 is a major release with breaking changes aimed at making API names and shapes more self-descriptive; it remains backward-compatible with v4.x if pinned. The package is actively maintained and carries no known security vulnerabilities.
Use it for:
- Send templated transactional emails with dynamic parameters to users (order confirmations, password resets)
- Manage contact lists and CRM data programmatically (create, update, fetch contact records)
- Trigger SMS campaigns and track delivery status for time-sensitive notifications
- Batch create events for loyalty programs or customer engagement tracking
- Build async workflows that send emails or SMS without blocking application execution
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Official Python SDK for the Brevo API, providing typed client access to email, SMS, marketing automation, and CRM endpoints with sync and async support.
Yes. The package is actively maintained, has low install friction, supports modern Python versions, and carries no known vulnerabilities. The only caveat is the unclear license—verify it aligns with your project's requirements before committing. If you are already using Brevo's API, this official SDK is the right choice over manual HTTP calls.
Install
brevo-python on PyPI
pip
pip install brevo-pythonuv
uv add brevo-pythonpoetry
poetry add brevo-pythonInstalling brevo-python
Before you install
Low friction install with four lightweight runtime dependencies (httpx, pydantic, pydantic-core, typing_extensions). Actively maintained with a release 4 days old and recent commits; suitable for production use.
License in practice
License treatment is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before use in proprietary or restricted contexts.
Quickstart
pip install brevo-python
from brevo import Brevo
from brevo.transactional_emails import SendTransacEmailRequestSender, SendTransacEmailRequestToItem
client = Brevo(api_key="YOUR_API_KEY")
client.transactional_emails.send_transac_email(
html_content="Hello {{params.name}}",
params={"name": "World"},
sender=SendTransacEmailRequestSender(email="hello@brevo.com", name="Brevo"),
subject="Test",
to=[SendTransacEmailRequestToItem(email="user@example.com")]
)
Verify before relying
- Whether the unclear license is MIT, Apache 2.0, or another permissive open-source license (check GitHub repo directly)
- Whether v5's breaking changes (renamed parameters, response shape changes) affect your existing Brevo API call patterns
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (<4.0,>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — httpx, pydantic, pydantic-core, typing_extensions |
| Maintenance | actively maintained — 4 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 269,305/month — #8,263 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: brevo_python-5.0.2-py3-none-any.whl
Keywords: api, sdk, client, brevo, sendinblue, transactional, email, sms, marketing, automation
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
hubspot-api-clientPython SDK for the HubSpot API v3 that provides…
permissive · top 5,000 on PyPI
sib-api-v3-sdkPython SDK for the SendinBlue REST API,…
unclear · top 15,000 on PyPI
mailgunOfficial Python SDK for the Mailgun email…
permissive · top 15,000 on PyPI
vapi-server-sdkA Python SDK for the Vapi API, providing…
unclear · top 15,000 on PyPI
python-intercomA Python client library for the Intercom API,…
unclear · top 15,000 on PyPI
agentmailAgentmail provides a Python client library for…
unclear · top 5,000 on PyPI
zerobouncesdkPython SDK for the ZeroBounce email validation…
permissive · top 15,000 on PyPI
mailchimp3A Python client for MailChimp API v3 that wraps…
permissive · top 15,000 on PyPI
mandrillMandrill is a deprecated Python API client and…
permissive · top 15,000 on PyPI
klaviyo-apiPython client library for the Klaviyo marketing…
permissive · top 15,000 on PyPI