A Python package for building Alexa skills.
Project description
|PyPIVersion| |BuildStatus| |Coverage|
A Python package for building Amazon Alexa skills.
Features
Request and response objects for custom skills
Simple definition of response logic for each request type
Built-in request parsing/validation, intent dispatch, and response construction
Installation
pip install skillful
Example
import skillful from skillful.tests import data application_id = 'amzn1.echo-sdk-ams.app.000000-d0ed-0000-ad00-000000d00ebe' skill = skillful.Skill(application_id) @skill.launch def on_launch(): print('Launched: {}'.format(skill.request.session.session_id)) text = 'Welcome to skillful. Would you like to build an Alexa skill?' skill.response.set_speech_text(text) ssml = ('<speak>Please tell me if you would like to build an Alexa ' 'skill.</speak>') skill.response.set_reprompt_ssml(ssml) @skill.intent('yes') def on_intent_yes(): text = ('Great! Building Alexa skills is easy with skillful. Open ' 'the Alexa app to see more information on skillful, a ' 'Python package for building Alexa skills.') skill.response.set_speech_text(text) title = 'skillful' content = ('A Python package for building Alexa skills.\n\n' 'Visit: https://github.com/bmweiner/skillful') skill.response.set_card_simple(title, content) skill.terminate() @skill.intent('no') def on_intent_no(): text = ('Well, if you change your mind, open the Alexa app to see ' 'more information on skillful, a Python package for ' 'building Alexa skills.') skill.response.set_speech_text(text) title = 'skillful' content = ('A Python package for building Alexa skills.\n\n' 'Visit: https://github.com/bmweiner/skillful') skill.response.set_card_simple(title, content) skill.terminate() @skill.session_ended def on_session_ended(): print('Ended: {}'.format(skill.request.session.session_id)) skill.terminate() # simulate request body body = data.SAMPLE_LAUNCH_REQUEST skill.process(body)
Output:
Launched: amzn1.echo-api.session.0000000-0000-0000-0000-00000000000 { "version": "1.0", "response": { "outputSpeech": { "text": "Welcome to skillful. Would you like to build an Alexa skill?", "type": "PlainText" }, "shouldEndSession": false, "reprompt": { "outputSpeech": { "ssml": "<speak>Please tell me if you would like to build an Alexa skill.</speak>", "type": "SSML" } } } }
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
skillful-0.8.2.tar.gz
(21.1 kB
view details)
File details
Details for the file skillful-0.8.2.tar.gz
.
File metadata
- Download URL: skillful-0.8.2.tar.gz
- Upload date:
- Size: 21.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d6597dc21032ec6e59745cd49c215ef3489226f01cd4e08884031587bfe077f |
|
MD5 | 74b03dfa2527b62363534b38f03b11d2 |
|
BLAKE2b-256 | bbba821ceba71ce2a08e292625854ddd3cd53ccc762499eecf74e1fc69a19600 |