Skip to main content

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

Project description

Flask ASK SDK - Extending ASK SDK to work with Flask

flask-ask-sdk is the extension package, that will let skill developers use ASK SDK package in their Flask application. It provides an easy way to register and use skills as custom webservices.

Quick Start

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 flask app:

from flask import Flask
from ask_sdk_core.skill_builder import SkillBuilder
from flask_ask_sdk.skill_adapter import SkillAdapter

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

app = Flask(__name__)
skill_response = SkillAdapter(
    skill=sb.create(), skill_id=<YOUR_SKILL_ID>, app=app)

skill_response.register(app=app, route="/")

if __name__ == '__main__':

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 app configuration.
  • Provides a way to register multiple skills on your app, at different endpoints.



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, flask) from PyPi as follows:

$ virtualenv venv
$ . venv/bin/activate
$ pip install flask-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 Flask.

SDK Usage and Getting Started

Getting started guides, SDK Features, API references, samples etc. can be found in the technical documentation

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 Flask ASK SDK extension package.


This release contains the following changes :

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


This release contains the following changes :

  • Move the webservice adapters to GA.

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 flask-ask-sdk, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size flask_ask_sdk-1.0.0-py2.py3-none-any.whl (7.8 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size flask-ask-sdk-1.0.0.tar.gz (6.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page