The Alexa Skills Kit SDK for Python helps you get a skill up and running quickly, letting you focus on skill logic instead of boilerplate code.
.. raw:: html
![]()
Alexa Skills Kit SDK for Python
English_ |
日本語_
The ASK SDK for Python makes it easier for you to build highly engaging skills, by allowing you to spend more time on implementing features and less on writing boiler-plate code.
The ASK SMAPI SDK for Python provides developers a library for easily interacting with all Skill Management APIs (SMAPI), including interaction model, intent request history, and in-skill purchasing APIs.
.. |Build Status| image:: https://github.com/alexa/alexa-skills-kit-sdk-for-python/workflows/Tox%20tests%20on%20SDK%20packages/badge.svg?style=flat :target: https://github.com/alexa/alexa-skills-kit-sdk-for-python/actions?query=workflow%3A%22Tox+tests+on+SDK+packages%22 :alt: Build Status .. |Runtime Version| image:: http://img.shields.io/pypi/v/ask-sdk-runtime.svg?style=flat :target: https://pypi.python.org/pypi/ask-sdk-runtime/ :alt: Version .. |Runtime Downloads| image:: https://pepy.tech/badge/ask-sdk-runtime :target: https://pepy.tech/project/ask-sdk-runtime :alt: Downloads .. |Core Version| image:: http://img.shields.io/pypi/v/ask-sdk-core.svg?style=flat :target: https://pypi.python.org/pypi/ask-sdk-core/ :alt: Version .. |Core Downloads| image:: https://pepy.tech/badge/ask-sdk-core :target: https://pepy.tech/project/ask-sdk-core :alt: Downloads .. |DynamoDb Version| image:: http://img.shields.io/pypi/v/ask-sdk-dynamodb-persistence-adapter.svg?style=flat :target: https://pypi.python.org/pypi/ask-sdk-dynamodb-persistence-adapter/ :alt: Version .. |DynamoDb Downloads| image:: https://pepy.tech/badge/ask-sdk-dynamodb-persistence-adapter :target: https://pepy.tech/project/ask-sdk-dynamodb-persistence-adapter :alt: Downloads .. |Standard Version| image:: http://img.shields.io/pypi/v/ask-sdk.svg?style=flat :target: https://pypi.python.org/pypi/ask-sdk/ :alt: Version .. |Standard Downloads| image:: https://pepy.tech/badge/ask-sdk :target: https://pepy.tech/project/ask-sdk :alt: Downloads .. |Webservice Version| image:: http://img.shields.io/pypi/v/ask-sdk-webservice-support.svg?style=flat :target: https://pypi.python.org/pypi/ask-sdk-webservice-support/ :alt: Version .. |Webservice Downloads| image:: https://pepy.tech/badge/ask-sdk-webservice-support :target: https://pepy.tech/project/ask-sdk-webservice-support :alt: Downloads .. |Flask Sdk Version| image:: http://img.shields.io/pypi/v/flask-ask-sdk.svg?style=flat :target: https://pypi.python.org/pypi/flask-ask-sdk/ :alt: Version .. |Flask Sdk Downloads| image:: https://pepy.tech/badge/flask-ask-sdk :target: https://pepy.tech/project/flask-ask-sdk :alt: Downloads .. |Django Sdk Version| image:: http://img.shields.io/pypi/v/django-ask-sdk.svg?style=flat :target: https://pypi.python.org/pypi/django-ask-sdk/ :alt: Version .. |Django Sdk Downloads| image:: https://pepy.tech/badge/django-ask-sdk :target: https://pepy.tech/project/django-ask-sdk :alt: Downloads .. |Jinja Renderer SDK Version| image:: http://img.shields.io/pypi/v/ask-sdk-jinja-renderer.svg?style=flat :target: https://pypi.python.org/pypi/ask-sdk-jinja-renderer/ :alt: Version .. |Jinja Renderer SDK Downloads| image:: https://pepy.tech/badge/ask-sdk-jinja-renderer :target: https://pepy.tech/project/ask-sdk-jinja-renderer :alt: Downloads .. |Smapi Sdk Version| image:: http://img.shields.io/pypi/v/ask-smapi-sdk.svg?style=flat :target: https://pypi.python.org/pypi/ask-smapi-sdk/ :alt: Version .. |Smapi Sdk Downloads| image:: https://pepy.tech/badge/ask-smapi-sdk :target: https://pepy.tech/project/ask-smapi-sdk :alt: Downloads .. |Ask Sdk Local Debug Version| image:: http://img.shields.io/pypi/v/ask-sdk-local-debug.svg?style=flat :target: https://pypi.python.org/pypi/ask-sdk-local-debug/ :alt: Version .. |Ask Sdk Local Debug Downloads| image:: https://pepy.tech/badge/ask-sdk-local-debug :target: https://pepy.tech/project/ask-sdk-local-debug :alt: Downloads .. |License| image:: http://img.shields.io/pypi/l/ask-sdk-core.svg?style=flat :target: https://github.com/alexa/alexa-skills-kit-sdk-for-python/blob/master/LICENSE :alt: License
==================================== ================== Package Version
ask-sdk-runtime |Runtime Version| |Runtime Downloads| ask-sdk-core |Core Version| |Core Downloads| ask-sdk-dynamodb-persistence-adapter |DynamoDb Version| |DynamoDb Downloads| ask-sdk |Standard Version| |Standard Downloads| ask-sdk-local-debug |Ask Sdk Local Debug Version| |Ask Sdk Local Debug Downloads| ask-sdk-webservice-support |Webservice Version| |Webservice Downloads| flask-ask-sdk |Flask Sdk Version| |Flask Sdk Downloads| django-ask-sdk |Django Sdk Version| |Django Sdk Downloads| ask-sdk-jinja-renderer |Jinja Renderer Sdk Version| |Jinja Renderer Sdk Downloads| ask-smapi-sdk |Smapi Sdk Version| |Smapi Sdk Downloads| ==================================== ==================
ASK SDK ~~~~~~~ -
English__ -
日本語__
ASK SMAPI SDK ~~~~~~~~~~~~~ -
English__
Models__
The SDK works on model classes rather than native Alexa JSON requests and responses. These model classes are generated using the Request, Response JSON schemas from the
developer docs__.
The documentation for the model classes can be found
here__.
Hello World (using Classes)_ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This code sample will allow you to hear a response from Alexa when you trigger it. It is a minimal sample to get you familiarized with the Alexa Skills Kit and AWS Lambda.
This sample shows how to create a skill using the Request Handler classes. For more information, check the
Request Processing_ documentation.
Hello World (using Decorators)_ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This code sample will allow you to hear a response from Alexa when you trigger it. It is a minimal sample to get you familiarized with the Alexa Skills Kit and AWS Lambda.
This sample shows how to create a skill using the Request Handler Decorators. For more information, check the
Request Processing_ documentation.
Color Picker_ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This is a step-up in functionality from Hello World. When the user provides their favorite color, Alexa remembers it and tells the user their favorite color.
It allows you to capture input from your user and demonstrates the use of Slots. It also demonstrates use of session attributes and request, response interceptors.
Fact_ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Template for a basic fact skill. You’ll provide a list of interesting facts about a topic, Alexa will select a fact at random and tell it to the user when the skill is invoked.
Demonstrates use of multiple locales and internationalization in the skill.
Quiz Game_ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Template for a basic quiz game skill. Alexa quizzes the user with facts from a list you provide.
Demonstrates use of render template directives to support displays on Alexa-enabled devices with a screen.
Device Address_ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sample skill that shows how to request and access the configured address in the user’s device settings.
Demonstrates how to use the alexa APIs using the SDK. For more information, check the documentation on
Alexa Service Clients_
Fact with In-Skill Purchases_ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sample fact skill with
in-skill purchase_ features, by offering different packs of facts behind a purchase, and a subscription to unlock all of the packs at once.
Demonstrates calling monetization alexa service and using ASK CLI to enable in-skill purchasing.
City Guide_ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Template for a local recommendations skill. Alexa uses the data that you provide to offer recommendations according to the user's stated preferences.
Demonstrates calling external APIs from the skill.
Pet Match_ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sample skill that matches the user with a pet. Alexa prompts the user for the information it needs to determine a match. Once all of the required information is collected, the skill sends the data to an external web service that processes the data and returns the match.
Demonstrates how to prompt and parse multiple values from customers using
Dialog Management_ and
Entity Resolution_.
High Low Game_ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Template for a basic high-low game skill. When the user guesses a number, Alexa tells the user whether the number she has in mind is higher or lower.
Demonstrates use of persistence attributes and the persistence adapter in the SDK.
Audio Player_ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Project that demonstrates how to use
AudioPlayer interface__ and
PlaybackController interface__ for building audioplayer skills in Alexa. The SingleStream skill sample demonstrates how to create a live radio skill, along with localization support. The MultiStream skill sample demonstrates how to create a basic podcast skill that can play multiple, pre-recorded audio streams.
Pager Karaoke__ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This sample demonstrates 3 features of APL: the
Pager Component,
SpeakItem Command, and accessing
device characteristics__ in the skill code.
Amazon Pay__
Audio Player__
Display – Body templates for devices with a screen__
Gadgets\Game Engine – Echo Buttons__
Directive Service (Progressive Response)__
Messaging__
Monetization__
Video__
Device Address__
Lists__
Request for customer contact information__
Obtain customer settings information_
Account Linking__
Entity Resolution__
Dialog Management__
Location Services__
Reminders__
Proactive Events__
Dynamic Entities__
Skill Messaging__
Connections__
Preview ~~~~~~~
Alexa Presentation Language__
Name-free Interactions_
SDK provides
ask-sdk-webservice-supportpackage, that allows hosting skills as custom web services. It also provides framework specific adapters under
flask-ask-sdkand
django-ask-sdkpackages, to integrate skills on the respective frameworks and deploy as web service.
More information on how to use these packages can be found on this
documentation link__.
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_ for pull requests!!
Alexa features_! Remember to select the category as ASK SDK if your feature request is specific to SDK.
Other Language Alexa Skills Kit SDKs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. raw:: html
Community ~~~~~~~~~
Amazon Developer Forums_ : Join the conversation!
Hackster.io_ - See what others are building with Alexa.
Tutorials & Guides ~~~~~~~~~~~~~~~~~~
Voice Design Guide_ - A great resource for learning conversational and voice user interface design.