Skip to main content

Samples and Tools the Google Assistant SDK

Project description

This package contains a collection of samples and tools to help you get started with the Google Assistant SDK using Python.

Installing

  • You can install using pip:

    pip install --upgrade google-assistant-sdk[samples]

Usage

google-oauthlib-tool

This tool creates test credentials to authorize devices to call the Google Assistant API when prototyping.

  • Follow the steps to configure a Google API Console Project and a Google account to use with the Google Assistant SDK.

  • Download the client_secret_XXXXX.json file from the Google API Console Project credentials section in the current directory.

  • Generate credentials using google-oauth-tool:

    pip install --upgrade google-auth-oauthlib[tool]
    google-oauthlib-tool --client-secrets client_secret_XXXXX.json --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless

googlesamples-assistant-audiotest

This tool verifies device setup for audio recording and playback.

  • Install the sample’s dependencies:

    sudo apt-get install portaudio19-dev libffi-dev libssl-dev
    pip install --upgrade google-assistant-sdk[samples]
  • Record 10 seconds of audio samples and play them back:

    googlesamples-assistant-audiotest --record-time 10
  • Adjust the sound device block size and flush size for a soundcard with limited throughput:

    googlesamples-assistant-audiotest --record-time 10 --audio-block-size=3200 --audio-flush-size=6400

The same --audio-block-size and --audio-flush-size options can be used on the gRPC samples included in the SDK.

googlesamples-assistant-devicetool

This tool allows you to register Google Assistant device models and instances and associate them with Device Actions traits.

  • Install the sample’s dependencies:

    sudo apt-get install portaudio19-dev libffi-dev libssl-dev
    pip install --upgrade google-assistant-sdk[samples]
  • Show the CLI tool usage:

    googlesamples-assistant-devicetool --help
  • Register a new device model and new device instance (after replacing the ‘placeholder values’ between quotes):

    googlesamples-assistant-devicetool register --model 'my-model-identifier' \
                                                --type LIGHT --trait action.devices.traits.OnOff \
                                                --manufacturer 'Assistant SDK developer' \
                                                --product-name 'Assistant SDK light' \
                                                --description 'Assistant SDK light device' \
                                                --device 'my-device-identifier' \
                                                --nickname 'My Assistant Light'
  • Register or overwrite the device model with the supported traits (after replacing the ‘placeholder values’ between quotes):

    googlesamples-assistant-devicetool register-model --model 'my-model-identifier' \
                                                      --type LIGHT --trait action.devices.traits.OnOff \
                                                      --manufacturer 'Assistant SDK developer' \
                                                      --product-name 'Assistant SDK light' \
                                                      --description 'Assistant SDK light device'

Note: The model identifier must be globally unique.

  • Register or overwrite the device instance using the device model (after replacing the ‘placeholder values’ between quotes):

    googlesamples-assistant-devicetool register-device --device 'my-device-identifier' \
                                                       --model 'my-model-identifier' \
                                                       --nickname 'My Assistant Light'

Note: The device instance identifier should be unique within the Google Developer Project associated with the device.

  • Verify that the device model and instance have been registered correctly:

    googlesamples-assistant-devicetool get --model 'my-model-identifier'
    googlesamples-assistant-devicetool get --device 'my-device-identifier'
  • List all device models and instances:

    googlesamples-assistant-devicetool list --model
    googlesamples-assistant-devicetool list --device

googlesamples-assistant-pushtotalk

This reference sample implements a simple but functional client for the Google Assistant Service.

  • Install the sample’s dependencies:

    sudo apt-get install portaudio19-dev libffi-dev libssl-dev
    pip install --upgrade google-assistant-sdk[samples]
  • Run the push to talk sample. The sample records a voice query after a key press and plays back the Google Assistant’s answer:

    googlesamples-assistant-pushtotalk --device-model-id 'my-device-model' --device-id 'my-device-identifier'
  • Try some Google Assistant voice query like “What time is it?” or “Who am I?”.

  • Try a device action query like “Turn <nickname / model product name> on”.

  • Run in verbose mode to see the gRPC communication with the Google Assistant API:

    googlesamples-assistant-pushtotalk --device-model-id 'my-device-model' --device-id 'my-device-identifier' -v

googlesamples-assistant-hotword

This reference sample implements a simple but functional client for the Google Assistant Library (linux_arm7l and linux_x86_64).

  • Install the google-assistant-library package:

    pip install --upgrade google-assistant-library
    pip install --upgrade google-assistant-sdk[samples]
  • Try the hotword sample:

    googlesamples-assistant-hotword --device_model_id 'my-model-identifier'

For Maintainers

See MAINTAINER.md for more documentation on the development, maintainance and release of the Python package itself.

Contributing

Contributions to this repository are always welcome and highly encouraged.

See CONTRIBUTING.md for more information on how to get started.

License

Copyright (C) 2017 Google Inc.

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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

google-assistant-sdk-0.4.4.tar.gz (86.8 kB view details)

Uploaded Source

Built Distribution

google_assistant_sdk-0.4.4-py2.py3-none-any.whl (29.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file google-assistant-sdk-0.4.4.tar.gz.

File metadata

File hashes

Hashes for google-assistant-sdk-0.4.4.tar.gz
Algorithm Hash digest
SHA256 5d32cec0d4462bbed6da488567493e39343fe838991a4c6bc72bccc0b417ff5e
MD5 f872bba75f8bcae97b9ba014669ba444
BLAKE2b-256 91a6d18643ee0b1bfef8361b8883e065eda9cc4de3134c980cba1fc3faa449b2

See more details on using hashes here.

File details

Details for the file google_assistant_sdk-0.4.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for google_assistant_sdk-0.4.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 964c8ae75dbd38b9e4a3e333b51eedf0786059567442e334cbc4f84f65645c0b
MD5 a376cd65324e7c6ccdcc89da15cba07e
BLAKE2b-256 98fe68befa857c14b5fcaa2161e9e245d48b7963c4716cfded3fabaf5bc32a5a

See more details on using hashes here.

Supported by

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