Skip to main content

The Django ASK SDK package provides support for using ASK SDK and Django, to deploy custom skills as webservice

Project description

Django ASK SDK - Extending ASK SDK to work with Django

**django-ask-sdk** is the extension package, that will let skill developers
use `ASK SDK <>`__
package in their Django application. It provides an easy way to register and
use `skills as custom webservices <>`__.

Quick Start

.. warning::

These features are currently in beta. You can view the source
code in the
`Ask Python Sdk <>`__
repo on GitHub. The interface might change when the features are released as

If you already have a skill built using the ASK SDK skill builders, then you
only need to do the following, to set this up in your django app (example_app):


.. code-block:: python

from ask_sdk_core.skill_builder import SkillBuilder
from ask_sdk_core.handler_input import HandlerInput
from ask_sdk_core.dispatch_components import AbstractRequestHandler
from ask_sdk_core.utils import is_request_type
from ask_sdk_model import Response

sb = SkillBuilder()

class LaunchRequestHandler(AbstractRequestHandler):
"""Handler for skill launch."""
def can_handle(self, handler_input):
# type: (HandlerInput) -> bool
return is_request_type("LaunchRequest")(handler_input)

def handle(self, handler_input):
# type: (HandlerInput) -> Response
speech = "Hello"
return handler_input.response_builder.response

# Other skill components here ....

# Register all handlers, interceptors etc.
# For eg : sb.add_request_handler(LaunchRequestHandler())

skill = sb.create()


.. code-block:: python

from .my_skill import skill
from django_ask_sdk.skill_adapter import SkillAdapter

my_skill_view = SkillAdapter.as_view(

urlpatterns = [
path('/', my_skill_view, name='index'),

Are you planning to deploy your skill on AWS Lambda? Then, you don't even
need this package. The `ASK SDK` provides a `lambda_handler` that can be
directly used in your lambda console.

More code examples can be found `here <>`__.


- Works as an extension on skills built using ASK SDK. No need to learn
something new.
- Provides default request signature and request timestamp verification.
These can be configured on app level by setting / unsetting default
parameters on the view.
- Provides a way to register multiple skills on your app, at different


.. note::

This package is compatible only with ``Python >= 3.6``, since it
required ``Django >= 2.0`` which is only ``Python3`` compatible.

.. important::

`cryptography` is a dependency for this package. If you have not
already installed
`cryptography <>`_, you might need to
install additional prerequisites as detailed in the
`cryptography installation guide <>`_
for your operating system.

Assuming that you have Python and ``virtualenv`` installed, you can
install the package and it's dependencies (``ask-sdk-webservice-support``)
from PyPi as follows:

.. code-block:: sh

$ virtualenv venv
$ . venv/bin/activate
$ pip install django-ask-sdk

This package is **not** installed along-side `ask-sdk` standard distribution,
and has to be installed separately if you need support for skill
deployment as webservice, using Django.

SDK Usage and Getting Started

Getting started guides, SDK Features, API references, samples etc. can
be found at `Read The Docs <>`_

Got Feedback?

- We would like to hear about your bugs, feature requests, questions or
quick feedback. Please search for the
`existing issues <>`_
before opening a new one. It would also be helpful if you follow the
templates for issue and pull request creation. Please follow the
`contributing guidelines <>`_!!
- Request and vote for `Alexa features <>`_!



* Initial release of Django ASK SDK extension package.


This release contains the following changes :

- Fix setting the custom user agent on the skill instance, when initializing the handler.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-ask-sdk, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size django_ask_sdk-0.1.1-py3-none-any.whl (7.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size django-ask-sdk-0.1.1.tar.gz (7.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page