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.

Files for lambdaskill, version 0.15.0
Filename, size File type Python version Upload date Hashes
Filename, size lambdaskill-0.15.0.tar.gz (10.9 kB) File type Source Python version None Upload date Hashes View

Supported by

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