API client for creating temporary email addresses to use in your E2E tests with Playwright, Cypress, and other frameworks.
Project description
Tigrmail SDK
Tigrmail SDK is a Python library for automating email verification workflows. It allows you to generate temporary inboxes and poll for email messages with customizable filters. This library is ideal for testing email-based features or automating email verification processes.
If you are working in a different programming language, you can still access all features by integrating directly with our API.
Features
- Generate temporary inboxes.
- Poll for the next email message with advanced filtering options (e.g., by subject, sender email, or domain).
- Built-in error handling for API interactions.
- Automatic retry logic for HTTP requests.
Installation
pip install tigrmail
Usage
Importing the Library
from tigrmail import Tigrmail, TigrmailError
Creating an Instance
To use the library, retrieve your API token from our console and create a Tigrmail instance using that token:
tigrmail = Tigrmail(token="your-api-token")
Generating a Temporary Inbox
email_address = tigrmail.create_email_address()
print(email_address) # <random-email-address>@den.tigrmail.com
Polling for the Next Email Message
You can poll for the next email message using filters:
message = tigrmail.poll_next_message(
inbox=email_address,
subject={"contains": "Verification"},
from_={"email": "noreply@example.com"},
)
print(f"Received email: {message['subject']}")
Playwright Integration Example
For a complete example of using Tigrmail SDK with Playwright for automated email verification testing, check out our Playwright Email Verification Example.
Context Manager Usage
The library supports Python's context manager protocol for automatic resource cleanup:
from tigrmail import Tigrmail, TigrmailError
try:
with Tigrmail(token="your-api-token") as tigrmail:
inbox = tigrmail.create_email_address()
message = tigrmail.poll_next_message(
inbox=inbox,
subject={"contains": "Verification"},
from_={"email": "noreply@example.com"},
)
print(message["subject"])
except TigrmailError as error:
print(f"Error: {error.general_message}")
API Reference
Tigrmail.create_email_address() -> str
Generates a temporary email address.
Tigrmail.poll_next_message(inbox, subject=None, from_=None) -> dict
Polls for the next email message with optional filters:
inbox(str): The email address to poll for messagessubject(dict, optional): Filter by subject line{"contains": str}- Subject contains the specified string{"equals": str}- Subject exactly matches the specified string
from_(dict, optional): Filter by sender{"email": str}- From a specific email address{"domain": str}- From any address at the specified domain
Returns an EmailMessage dictionary with message details.
Error Handling
The library raises TigrmailError for API-related issues. You can catch and handle these errors as follows:
try:
inbox = tigrmail.create_email_address()
except TigrmailError as error:
print(f"Error: {error.general_message}")
except Exception as error:
print(f"Unexpected error: {error}")
Technical Details
- Base URL:
https://api.tigrmail.com - Timeout: 180s
- Retries: 3 (exponential backoff) on all HTTP/transport errors
- Uses
httpxunder the hood with simple retry logic
License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tigrmail-0.4.0.tar.gz.
File metadata
- Download URL: tigrmail-0.4.0.tar.gz
- Upload date:
- Size: 45.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bf84c6973395077162ede62f20dd175deeb96c4c553a6113d728711b2081050
|
|
| MD5 |
2bb4a3a4a8bf6265cfd47669292429cd
|
|
| BLAKE2b-256 |
a05da724d056894f6c9f40c1deae0057457de9570c975d0db87455d0ea781ab9
|
File details
Details for the file tigrmail-0.4.0-py3-none-any.whl.
File metadata
- Download URL: tigrmail-0.4.0-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
058f7c86ed914a3c3ae6e8fb799d71f8de4aee0bc63e41fc36a61627055182d6
|
|
| MD5 |
3a0116ab13ea2dd660399b6cd3b91361
|
|
| BLAKE2b-256 |
f06801b1a81fa25d210cf7dd841d916f7b8871d4baaa66b5be73387c8b2b15bc
|