Giter Site home page Giter Site logo

darkrace / webex-assistant-sdk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cisco/webex-assistant-sdk

0.0 1.0 0.0 606 KB

An SDK for developing Webex Assistant Skills based on the MindMeld platform.

License: Apache License 2.0

Shell 0.47% Python 99.53%

webex-assistant-sdk's Introduction

An SDK for developing Webex Assistant Skills based on the MindMeld platform.

Install the SDK

pip install webex_assistant_sdk

Using the SDK

To use the SDK we just need to import SkillApplication and pass in the RSA private key as well as the secret for verifying the request's header.

Here is an example implementation which is found in the tests folder:

from pathlib import Path

from webex_assistant_sdk.app import SkillApplication
from webex_assistant_sdk.crypto import load_private_key_from_file


secret = 'some secret'
key = load_private_key_from_file(str(Path(__file__).resolve().parent / 'id_rsa'))
app = SkillApplication(__name__, secret=secret, private_key=key)

__all__ = ['app']

Similar to MindMeld applications, for development convenience, we have included a Flask server for you to test your application.

To run the development server you can use the run command: python -m [app] run.

We do not recommend using the development server for production purpose. To learn more about productionizing Flask application, please check Deployment Options.

The introduce decorator

The SkillApplication adds a introduce decorator in addition to MindMeld's build in decorator. This is used to mark the dialogue state to use when a user calls a skill without any command, i.e. "talk to "

Example

@app.introduce
def introduction(request, responder):
    pass

Debugging

To debug the server and turn off encryption/decryption, you can set the environment variable WXA_SKILL_DEBUG to be True.

Command Line

Installing the webex_assistant_sdk package adds a wxa_sdk command line application. Use the -h argument for help.

Usage: wxa_sdk [OPTIONS] COMMAND [ARGS]...

Options:
  --install-completion [bash|zsh|fish|powershell|pwsh]
                                  Install completion for the specified shell.
  --show-completion [bash|zsh|fish|powershell|pwsh]
                                  Show completion for the specified shell, to
                                  copy it or customize the installation.

  --help                          Show this message and exit.

Commands:
  generate-keys    Generate an RSA keypair
  generate-secret  Generate a secret token for signing requests
  invoke           Invoke a skill running locally or remotely
  new              Create a new skill project from a template

webex-assistant-sdk's People

Contributors

angelrev avatar bradylenz avatar cmata23x3 avatar jjjacksn avatar minhtuev avatar snow0x2d0 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.