Metadata-Version: 1.2
Name: ask-sdk-jinja-renderer
Version: 1.0.0
Summary: ask-sdk-jinja-renderer is an SDK package for supporting template responses for skill developers, when built using ASK Python SDK. It provides jinja framework as a template engine to render the response loaded from the templateand inject the data passed and finally deserialize it toa custom response format
Home-page: https://github.com/alexa/alexa-skills-kit-sdk-for-python
Author: Alexa Skills Kit
Author-email: ask-sdk-dynamic@amazon.com
License: Apache 2.0
Description: ====================================================
        ASK SDK Jinja Renderer
        ====================================================
        ask-sdk-jinja-renderer is an SDK package for supporting template responses for skill developers, when built using
        ASK Python SDK. It provides jinja framework as a template renderer to render the response loaded from the
        template and inject the data passed and finally deserialize to custom response format.
        
        Quick Start
        -----------
        If you already have a skill built using the ASK SDK builders, then you only need to do the following,
        to start using template resolvers to generate responses.
        
        - Import FileSystemTemplateLoader from ask_sdk_core and JinjaTemplateRenderer from ask_sdk_jinja_renderer packages.
        - Register the Loaders with appropriate parameters and also a Renderer into skill builder using add_loaders and
          add_renderer methods.
        - Create a template file as shown below and provide the path of the directory and its encoding scheme as parameters while
          initializing the loader.
        
        example_app/my_skill.py
        ~~~~~~~~~~~~~~~~~~~~~~~
        
        .. code-block:: python
        
            from ask_sdk_core.skill_builder import SkillBuilder
            from ask_sdk_core.handler_input import HandlerInput
            from ask_sdk_core.dispatch_components import AbstractRequestHandler
            from ask_sdk_core.utils import is_request_type
            from ask_sdk_core.view_resolvers import FileSystemTemplateLoader
            from ask_sdk_jinja_renderer import JinjaTemplateRenderer
            from ask_sdk_model import Response
        
            sb = SkillBuilder()
        
            class LaunchRequestHandler(AbstractRequestHandler):
                """Handler for skill launch."""
                def can_handle(self, handler_input):
                    # type: (HandlerInput) -> bool
                    return is_request_type("LaunchRequest")(handler_input)
        
                def handle(self, handler_input):
                    # type: (HandlerInput) -> Response
                    speech_text = "Hello!!"
        
                    template_name = "responses"
        
                    data_map = {
                        'speech_text': speech_text,
                        'card': {
                            'type': 'Simple',
                            'title': 'Jinja2 Template',
                            'content': speech_text
                        },
                        'should_end_session': 'false'
                    }
        
                    return handler_input.generate_template_response(template_name, data_map, file_ext='jinja')
        
            # Other skill components here ....
        
            # Register all handlers, loaders, renderers, interceptors etc.
            sb.add_request_handler(LaunchRequestHandler())
            # Add default file system loader on skill builder
            sb.add_loader(FileSystemTemplateLoader(dir_path="templates", encoding='utf-8'))
            # Add default jinja renderer on skill builder
            sb.add_renderer(JinjaTemplateRenderer())
        
        
            skill = sb.create()
        
        
        example_app/templates/responses.jinja
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        .. code-block:: json
        
            {
                "outputSpeech": {
                    "type": "SSML",
                    "ssml": "<speak>{{ speech_text }}</speak>"
                },
                "card": {
                    "type": "{{ card.type }}",
                    "title": "{{ card.title}}",
                    "content": "{{ card.content }}"
                },
                "shouldEndSession": "{{ should_end_session }}"
            }
        
        
        
        Installation
        ~~~~~~~~~~~~~~~
        Assuming that you have Python and ``virtualenv`` installed, you can
        install the package from PyPi as follows:
        
        .. code-block:: sh
        
            $ virtualenv venv
            $ . venv/bin/activate
            $ pip install ask-sdk-jinja-renderer
        
        
        Usage and Getting Started
        -------------------------
        
        Getting started guides, SDK Features, API references, samples etc. can
        be found at `Read The Docs <https://alexa-skills-kit-python-sdk.readthedocs.io/en/latest/>`_
        
        
        Got Feedback?
        -------------
        
        - We would like to hear about your bugs, feature requests, questions or quick feedback.
          Please search for the `existing issues <https://github.com/alexa/alexa-skills-kit-sdk-for-python/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 <https://github.com/alexa/alexa-skills-kit-sdk-for-python/blob/master/CONTRIBUTING.md>`_!!
        - Request and vote for `Alexa features <https://alexa.uservoice.com/forums/906892-alexa-skills-developer-voice-and-vote>`_!
        
        
        =========
        CHANGELOG
        =========
        
        1.0
        -------
        
        * Initial release of Ask SDK Python Jinja Renderer Package.
        
Keywords: ASK SDK,Alexa Skills Kit,Alexa
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*
