Skip to main content

A library to help create apps for the voice assistant Snips

Project description

Build status Maintainability Test coverage Code quality Documentation status PyPI package version Supported Python versions License

SnipsKit is a Python library with some helper tools to work with the voice assistant Snips. This can be used by Snips apps or other programs that work with Snips.

With SnipsKit, you can create Snips apps without having to write much boilerplate code. The simplest example of an app using SnipsKit is the following:

from snipskit.hermes.apps import HermesSnipsApp
from snipskit.hermes.decorators import intent

class SimpleSnipsApp(HermesSnipsApp):

    @intent('User:ExampleIntent')
    def example_intent(self, hermes, intent_message):
        hermes.publish_end_session(intent_message.session_id,
                                   "I received ExampleIntent")

if __name__ == "__main__":
    SimpleSnipsApp()

And that’s it! No need to connect to an MQTT broker, no need to register callbacks, because the HermesSnipsApp class:

  • reads the MQTT connection settings from the snips.toml file;

  • connects to the MQTT broker;

  • registers the method with the intent decorator as a callback method for the intent ‘User:ExampleIntent’;

  • starts the event loop.

SnipsKit also has decorators for other events, and there’s also a class MQTTSnipsApp to listen to MQTT topics directly. Moreover, SnipsKit also gives the app easy access to:

  • the Snips configuration;

  • the Hermes or MQTT connection object;

  • the assistant’s configuration;

  • the app’s configuration.

System requirements

SnipsKit is a Python 3-only library, requiring Python 3.5 or higher. It’s currently tested on Python 3.5, 3.6 and 3.7.

Installation

SnipsKit is packaged on PyPI. The latest stable version with all functionality can be installed with the following command:

pip install snipskit[hermes,mqtt]

Documentation

The full documentation can be found on Read the Docs, for both the stable version and the development version.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

snipskit-0.4.0.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

snipskit-0.4.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file snipskit-0.4.0.tar.gz.

File metadata

  • Download URL: snipskit-0.4.0.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for snipskit-0.4.0.tar.gz
Algorithm Hash digest
SHA256 8a0837ac8f6890a64241004c6238f10511cdc2abc96428621d0e56fc2b7c7cf6
MD5 b1e1399fe5261ccbecf3dd91f4800adc
BLAKE2b-256 3c5ea75babf61a77f63968d25e14e143a80a80b86923eea9cb8d777fe385341b

See more details on using hashes here.

File details

Details for the file snipskit-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: snipskit-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for snipskit-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 384c7d1ba23f9e6b3a9a1a7ba42c57f2f279346d986e2e68799365209c86bfac
MD5 ff529ed3d57cb21e711176b0a4eedd86
BLAKE2b-256 49b98d78154d1df0a42e11b0f61095f06d275a975029cfaae1cc8b7611d3ae99

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page