Skip to main content

SendGrid library for Python

Project description

|Travis Badge|

**This library allows you to quickly and easily use the SendGrid Web API
via Python.**

Announcements
=============

**BREAKING CHANGE as of 2016.06.14**

Version ``3.X.X`` is a breaking change for the entire library.

Version 3.X.X brings you full support for all Web API v3 endpoints. We
have the following resources to get you started quickly:

- `SendGrid
Documentation <https://sendgrid.com/docs/API_Reference/Web_API_v3/index.html>`__
- `Usage
Documentation <https://github.com/sendgrid/sendgrid-python/tree/master/USAGE.md>`__
- `Example
Code <https://github.com/sendgrid/sendgrid-python/tree/master/examples>`__
- `Migration from v2 to
v3 <https://sendgrid.com/docs/Classroom/Send/v3_Mail_Send/how_to_migrate_from_v2_to_v3_mail_send.html>`__

Thank you for your continued support!

All updates to this library is documented in our
`CHANGELOG <https://github.com/sendgrid/sendgrid-python/blob/master/CHANGELOG.md>`__.

Installation
============

Setup Environment Variables
---------------------------

First, get your free SendGrid account
`here <https://sendgrid.com/free?source=sendgrid-python>`__.

Next, update your environment with your
`SENDGRID\_API\_KEY <https://app.sendgrid.com/settings/api_keys>`__.

.. code:: bash

echo "export SENDGRID_API_KEY='YOUR_API_KEY'" > sendgrid.env
echo "sendgrid.env" >> .gitignore
source ./sendgrid.env

Install Package
---------------

.. code:: bash

pip install sendgrid

or

.. code:: bash

easy_install sendgrid

Dependencies
------------

- The SendGrid Service, starting at the `free
level <https://sendgrid.com/free?source=sendgrid-python>`__)
- `Python-HTTP-Client <https://github.com/sendgrid/python-http-client>`__

Quick Start
===========

Hello Email
-----------

.. code:: python

import sendgrid
import os
from sendgrid.helpers.mail import *

sg = sendgrid.SendGridAPIClient(apikey=os.environ.get('SENDGRID_API_KEY'))
from_email = Email("test@example.com")
subject = "Hello World from the SendGrid Python Library"
to_email = Email("test@example.com")
content = Content("text/plain", "some text here")
mail = Mail(from_email, subject, to_email, content)
response = sg.client.mail.send.post(request_body=mail.get())
print(response.status_code)
print(response.body)
print(response.headers)

General v3 Web API Usage
------------------------

.. code:: python

import sendgrid
import os

sg = sendgrid.SendGridAPIClient(apikey=os.environ.get('SENDGRID_API_KEY'))
response = sg.client.api_keys.get()
print(response.status_code)
print(response.body)
print(response.headers)

Usage
=====

- `SendGrid
Documentation <https://sendgrid.com/docs/API_Reference/index.html>`__
- `Usage
Documentation <https://github.com/sendgrid/sendgrid-python/tree/master/USAGE.md>`__
- `Example
Code <https://github.com/sendgrid/sendgrid-python/tree/master/examples>`__
- `v3 Web API Mail Send
Helper <https://github.com/sendgrid/sendgrid-python/tree/master/sendgrid/helpers/mail>`__
- build a request object payload for a v3 /mail/send API call.

Roadmap
-------

If you are intersted in the future direction of this project, please
take a look at our
`milestones <https://github.com/sendgrid/sendgrid-python/milestones>`__.
We would love to hear your feedback.

How to Contribute
-----------------

We encourage contribution to our libraries, please see our
`CONTRIBUTING <https://github.com/sendgrid/sendgrid-python/blob/master/CONTRIBUTING.md>`__
guide for details.

Quick links:

- `Feature
Request <https://github.com/sendgrid/sendgrid-python/blob/master/CONTRIBUTING.md#feature_request>`__
- `Bug
Reports <https://github.com/sendgrid/sendgrid-python/blob/master/CONTRIBUTING.md#submit_a_bug_report>`__
- `Sign the CLA to Create a Pull
Request <https://github.com/sendgrid/sendgrid-open-source-templates/tree/master/CONTRIBUTING.md#cla>`__
- `Improvements to the
Codebase <https://github.com/sendgrid/sendgrid-python/blob/master/CONTRIBUTING.md#improvements_to_the_codebase>`__

About
=====

sendgrid-python is guided and supported by the SendGrid `Developer
Experience Team <mailto:dx@sendgrid.com>`__.

sendgrid-python is maintained and funded by SendGrid, Inc. The names and
logos for sendgrid-python are trademarks of SendGrid, Inc.

.. |SendGrid Logo| image :: https://uiux.s3.amazonaws.com/2016-logos/email-logo%402x.png
:target: https://www.sendgrid.com

.. |Travis Badge| image:: https://travis-ci.org/sendgrid/sendgrid-python.svg?branch=master
:target: https://travis-ci.org/sendgrid/sendgrid-python

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

sendgrid-3.0.5.tar.gz (9.9 kB view hashes)

Uploaded Source

Built Distribution

sendgrid-3.0.5-py2-none-any.whl (20.6 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page