SparkPost Python API client
Project description
Sign up for a SparkPost account and visit our Developer Hub for even more content.
SparkPost Python API client
The official Python package for using the SparkPost API.
Documentation
Documentation for python-sparkpost
Installation
Install from PyPI using pip:
$ pip install sparkpost
Python 2.7 or later is required.
Get a key
Go to API & SMTP in the SparkPost app and create an API key. We recommend using the SPARKPOST_API_KEY environment variable:
from sparkpost import SparkPost
sp = SparkPost() # uses environment variable
Alternatively, you can pass the API key to the SparkPost class:
from sparkpost import SparkPost
sp = SparkPost('YOUR API KEY')
For SparkPost EU and Enterprise accounts, pass in a second parameter to set the API host.
from sparkpost import SparkPost
sp = SparkPost('YOUR API KEY', 'https://api.eu.sparkpost.com')
Send a message
Here at SparkPost, our messages are known as transmissions. Let’s use the underlying transmissions API to send a friendly test message:
from sparkpost import SparkPost
sp = SparkPost()
response = sp.transmissions.send(
use_sandbox=True,
recipients=['someone@somedomain.com'],
html='<p>Hello world</p>',
from_email='test@sparkpostbox.com',
subject='Hello from python-sparkpost'
)
print(response)
# outputs {u'total_accepted_recipients': 1, u'id': u'47960765679942446', u'total_rejected_recipients': 0}
Django Integration
The SparkPost python library comes with an email backend for Django. Put the following configuration in settings.py file.
SPARKPOST_API_KEY = 'API_KEY'
SPARKPOST_BASE_URI = 'api.sparkpost.com'
EMAIL_BACKEND = 'sparkpost.django.email_backend.SparkPostEmailBackend'
Replace API_KEY with an actual API key that you’ve generated in Get a Key section. Check out the full documentation on the Django email backend.
If you are using an EU account, set SPARKPOST_BASE_URI to api.eu.sparkpost.com. The default value is api.sparkpost.com.
Using with Google Cloud
There are a few simple modifications necessary to enable the use of the underlying requests library that python-sparkpost uses. First, add the requests and requests-toolbelt to your project’s requirements.txt:
requests
requests-toolbelt
Then create or update your appengine_config.py file to include the following:
import requests
import requests_toolbelt.adapters.appengine
requests_toolbelt.adapters.appengine.monkeypatch()
Then deploy your app and you should be able to send using python-sparkpost on Google Cloud.
Contribute
Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
Fork the repository on GitHub and make your changes in a branch on your fork
Write a test which shows that the bug was fixed or that the feature works as expected.
Send a pull request. Make sure to add yourself to AUTHORS.
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
File details
Details for the file sparkpost-1.3.10.tar.gz
.
File metadata
- Download URL: sparkpost-1.3.10.tar.gz
- Upload date:
- Size: 23.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.20.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a151261d514923e2d3055d122bba86c4d2c7c806419ae1c10ba689cacc3aa3a3 |
|
MD5 | c45518d63c6899d177a5e755f33a31ac |
|
BLAKE2b-256 | 216c0c268eec81553ba95c6b98815c5bd377392738204e5a7c20a3b2567d4c95 |
File details
Details for the file sparkpost-1.3.10-py2.py3-none-any.whl
.
File metadata
- Download URL: sparkpost-1.3.10-py2.py3-none-any.whl
- Upload date:
- Size: 31.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.20.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcb10063371f3c126a860ae780a3324d3b740e02dc343e0fc6bd1fecc89f6995 |
|
MD5 | 4989c13df46db6528767a56fe28a2c24 |
|
BLAKE2b-256 | 26ea2fbd26f036eeb3e0bf9e0f93a31788f86c9db00533610207c833ab761d19 |