diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..b14d298
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,11 @@
+*.pyc
+*.egg
+*.egg-info
+dist
+eggs
+build
+sdist
+.Python
+bin/
+include/
+lib/
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..8f5a44f
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,40 @@
+FROM ubuntu:xenial
+ENV PYTHON_VERSIONS='python2.6 python2.7 python3.4 python3.5 python3.6' \
+ OAI_SPEC_URL="https://raw.githubusercontent.com/sendgrid/sendgrid-oai/master/oai_stoplight.json"
+
+# install testing versions of python, including old versions, from deadsnakes
+RUN set -x \
+ && apt-get update \
+ && apt-get install -y --no-install-recommends software-properties-common \
+ && apt-add-repository -y ppa:fkrull/deadsnakes \
+ && apt-get update \
+ && apt-get install -y --no-install-recommends $PYTHON_VERSIONS \
+ git \
+ curl \
+ && apt-get purge -y --auto-remove software-properties-common \
+ && rm -rf /var/lib/apt/lists/*
+
+WORKDIR /root
+
+# install Prism
+ADD https://raw.githubusercontent.com/stoplightio/prism/master/install.sh install.sh
+RUN chmod +x ./install.sh && \
+ ./install.sh && \
+ rm ./install.sh
+
+# install pip, tox
+ADD https://bootstrap.pypa.io/get-pip.py get-pip.py
+RUN python2.7 get-pip.py && \
+ pip install tox && \
+ rm get-pip.py
+
+# set up default sendgrid env
+WORKDIR /root/sources
+RUN git clone https://github.com/sendgrid/sendgrid-python.git && \
+ git clone https://github.com/sendgrid/python-http-client.git
+WORKDIR /root
+RUN ln -s /root/sources/sendgrid-python/sendgrid && \
+ ln -s /root/sources/python-http-client/python_http_client
+
+COPY . .
+CMD sh run.sh
diff --git a/README.md b/README.md
index 009e752..15b569f 100644
--- a/README.md
+++ b/README.md
@@ -21,6 +21,7 @@ All updates to this module is documented in our [CHANGELOG](https://github.com/s
- [Usage](#usage)
- [Roadmap](#roadmap)
- [How to Contribute](#contribute)
+- [Local set up](#local_setup)
- [About](#about)
- [License](#license)
@@ -71,6 +72,18 @@ Quick links:
- [Sign the CLA to Create a Pull Request](https://github.com/sendgrid/smtpapi-python/blob/master/CONTRIBUTING.md#cla)
- [Improvements to the Codebase](https://github.com/sendgrid/smtpapi-python/blob/master/CONTRIBUTING.md#improvements-to-the-codebase)
+
+
+# Local Setup of the project
+
+The simplest local development workflow is by using docker.
+
+> Steps
+
+1. Install Docker
+2. Run `docker-compose build` (This builds the container)
+3. Run `docker-compose up` (This runs tests by default)
+
# About
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..64cc37b
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3'
+services:
+ web:
+ build: .
+ volumes:
+ - .:/root
diff --git a/run.sh b/run.sh
new file mode 100644
index 0000000..920b790
--- /dev/null
+++ b/run.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+python2.7 setup.py install
+python2.7 test/__init__.py