Skip to main content

A simple toolkit for building Alexa skills.

Project description

A simple Python 3 toolkit to build Alexa Skills using AWS Lambda.

lambdaskill itself has no external dependencies beyond the Python standard library. However, the included utilties package requires the aniso8601 package.

The interface is pretty straight-forward. Just subclass the Skill class to create your own skill. Add methods named like do_yourintent() to handle an intent named ‘yourintent’. Use the Response object to prepare a response. Cards can be attached to the response if desired. The lambda function handler is obtained by calling the get_handler() class method on your new class.

The following is a simple demo that would respond to an intent called ‘hellointent’ that has a slot named ‘NAME’:

from lambdaskill import *

class DemoSkill(Skill):

    def do_hellointent(self, request):
        slots = request.get_slots()
        name = slots['NAME']
        return Response.respond('Hello, {}'.format(name))

handler = DemoSkill.get_handler()

Note that intents that include characters not permitted in Python method names (such as the Amazon built-in intents, ex: AMAZON.SearchActionobject@WeatherForecast%5Btemperature%5D) can be handled as follows (extending the example above):

@DemoSkill.intent('AMAZON.SearchAction<object@WeatherForecast[temperature]>')
def weather_intent_handler(self, request):
    return Response.respond('You asked about the weather.')

Which will add the intent handler to the class definition with an appropriately mangled name. Obviously, you would include these lines before the call to get_hander(), as the get_handler() call creates an instance of the class and returns the handler method of that instance.

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
lambdaskill-0.15.0.tar.gz (10.9 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page