Transactional

Python Integration

Send transactional emails from Python applications with the Transactional SDK. Works with Django, Flask, FastAPI, and more.

Python SDK Features

The Transactional Python SDK provides a clean, Pythonic interface for sending emails:

  • Type hints for better IDE support
  • Async support with asyncio
  • Result pattern for explicit error handling
  • Automatic retries for transient failures

Framework Integrations

The Python SDK works with any Python web framework:

  • Django - Full integration with Django's email backend
  • Flask - Lightweight integration for Flask apps
  • FastAPI - Async-first integration for FastAPI

Async Usage

For async applications, use the async client:

import asyncio
from usetransactional import AsyncTransactional
 
async def send_email():
    client = AsyncTransactional(api_key='your_api_key')
 
    result = await client.emails.send(
        from_email='hello@yourdomain.com',
        to='recipient@example.com',
        subject='Async Email',
        html_body='<p>Sent asynchronously!</p>',
    )
 
    return result
 
asyncio.run(send_email())

Error Handling

The SDK uses a result pattern instead of exceptions:

result = client.emails.send(...)
 
if result.error:
    match result.error.code:
        case 'INVALID_EMAIL':
            print('Invalid recipient email')
        case 'RATE_LIMITED':
            print('Too many requests, try again later')
        case _:
            print(f'Error: {result.error.message}')
else:
    print(f'Sent: {result.data.id}')