Skip to main content

Snips Manager

Project description

# Snips Manager

[![Build Status](](
[![MIT License](](

The Snips Manager is a tool for easily setting up and managing a [Snips]( assistant.

A single configuration file, the [Snipsfile](, is required to create a Snips assistant. In it, you specify:

- The URL of your assistant model, as created in the [Snips Console](
- The [lambdas]( you want to install
- Bindings between intents and lambdas
- If required, additional parameters for your lambdas, such as an API key or the address of a lamp
- Various configuration parameters, such as language and logging preferences.

Check out [Awesome Snips](, a curated list of Snips assistants, lambdas and other resources to get you started.

## Installation

### Debian package

Snips Manager is available as an `apt-get` package. To install it, run the following:

$ sudo apt-get update
$ sudo apt-get install -y dirmngr
$ sudo bash -c 'echo "deb$(lsb_release -cs) stable main" > /etc/apt/sources.list.d/snips.list'
$ sudo apt-key adv --keyserver --recv-keys D4F50CDCA10A2849
$ sudo apt-get update
$ sudo apt-get install -y snipsmanager

### Python package

Snips Manager also comes as a `pip` package. This however requires installing a few dependencies beforehand. Start by running:

$ sudo apt-get update
$ sudo apt-get install python-pip libsdl-mixer1.2 libusb-1.0 \
python-pyaudio libsdl1.2-dev cython cython3 libudev-dev \
python-dev libsdl-image1.2-dev libsdl-mixer1.2-dev \
libsdl-ttf2.0-dev libsmpeg-dev python-numpy libportmidi-dev \
libswscale-dev libavformat-dev libavcodec-dev \
portaudio19-dev nodejs build-essential -y

Next, create a Python virtual environment to avoid conflicts with existing dependencies, and to be able to run Snips Manager without root privileges:

$ sudo pip install --upgrade virtualenv
$ virtualenv --python=/usr/bin/python2.7 snips
$ source snips/bin/activate
(snips) $ pip install pip --upgrade

You may replace `snips` with any name for your virtual environment.

We are ready to install the `snipsmanager` package:

(snips) $ pip install snipsmanager

## macOS

On macOS, Snips Manager is also available as a `pip` package. To install, Portaudio, Pyaudio and SDL are needed:

$ sudo easy_install pip
$ brew install portaudio
$ brew install sdl
$ pip install --global-option='build_ext' \
--global-option='-I/usr/local/include' \
--global-option='-L/usr/local/lib' pyaudio

Next, like with Raspbian, we create a Python virtual environment in which Snips Manager will be run:

$ sudo pip install --upgrade virtualenv
$ virtualenv --python=/usr/bin/python2.7 snips
$ source snips/bin/activate
(snips) $ pip install pip --upgrade

Snips Manager can now be installed:

(snips) $ pip install snipsmanager

## Usage

### Creating the Snipsfile

Start your project by creating a `Snipsfile`, which is where all the configuration is set. This is a simple text file, adhering to the [YAML]( format. Here is a basic configuration:

assistant_url: <YOUR ASSISTANT URL>
default_location: Paris,fr
- package_name: snipshue
class_name: SnipsHue
hostname: <PHILIPS HUE IP>
light_ids: [1, 2, 3, 4, 5, 6]
- intent: ActivateLightColor
action: "turn_on"
- intent: DeactivateObject
action: "turn_off"

For further explanations and examples, check out our [Snipsfile Wiki](

### Installing the lambdas

Next, setup the assistant by running the `install` command:

$ snipsmanager install

The `snipsmanager` service will automatically start on boot. You can also start it manually by running:

$ snipsmanager run

## Contributing

Please see the [Contribution Guidelines](

## Copyright

This skill is provided by [Snips]( as Open Source software. See [LICENSE.txt]( for more information.

Project details

Download files

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

Files for snipsmanager, version
Filename, size File type Python version Upload date Hashes
Filename, size snipsmanager- (118.9 kB) File type Egg Python version 2.7 Upload date Hashes View
Filename, size snipsmanager- (57.9 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size snipsmanager- (34.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page