Create Assistant Using Scripting Language (a.k.a DevAssistant PingPong)

(Why PingPong?)

The PingPong approach is the second approach you can take to write complex assistant functionality. It utilizes a small subset of the Yaml DSL for describing metadata, dependencies and assistant arguments.

The actual execution part is written in one of the supported Supported Languages. For each of these languages, there is a binding library available, that allows the PingPong script to make callbacks to DevAssistant. Hence you can write assistants in a scripting language while still utilizing DevAssistant functionality.

The general part about metadata, dependencies and arguments is described at Tutorial: Assistants Utilizing PingPong and you should read it regardless of the language you choose to implement the script. Then you should choose a language-specific tutorial to see how to write the actual PingPong script.

Supported Languages

Currently, only Python PingPong client library has been implemented. It works with Python 2.6, 2.7 and > 3.3. You can get it at, bug reports/feature requests are welcome at This library is maintained by developers of DevAssistant.

Note on terminology: The PingPong script is not the assistant. Even if you’re using the PingPong approach, the assistant is still a Yaml file (very simple in this case).