Skip to main content

Apprentice is a library for deploying and developing actions via Dialogflow and Google Cloud Functions.

Project description

Apprentice

Build Status PyPI version

Apprentice is a library for deploying and developing actions via Dialogflow and Google Cloud Functions.

Installation

Use the package manager pip to install Apprentice.

pip install apprentice

Quickstart

A Google Action project will consist of two things:

  1. A Dialogflow defined action
  2. An endpoint that your Dialogflow Action can talk to.

To generate a Hello World application, you can run:

$ apprentice init

This will create a file structure:

hello_world_agent/
    main.py
    requirements.txt

main.py is the file that gcloud looks for to upload the function. It is important that the name, main.py, remains in order to use gcloud cli.

Testing

To make local development quicker, you can run a local server with

$ apprentice run

Deployment

Note

gcloud cli must be installed and authorized for the following command to work. If you wish to not have gcloud cli installed, you can copy the file contents via the gcloud function dashboard.

$ apprentice -f hello_world -s hello_world_agent -e hello_world

This will generate the command to execute a gcloud function deploy via the cli.

Example Project

import random

import requests

from apprentice import format_response, generate_intent_response


def cool_fact_generator(*args, **kwargs):
    data = _fact_response()
    formatted_data = generate_intent_response(data)
    return format_response(formatted_data)


def _fact_response():
    res = requests.get('https://history.muffinlabs.com/date')
    data = res.json().get('data')

    fact = random.choice(data['Events'])
    year = fact['year']
    text = fact['text']
    phrase = f'Today, in the year {year} {text}'
    return phrase

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

GNU 3.0

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

apprentice-0.1.6.tar.gz (18.3 kB view details)

Uploaded Source

File details

Details for the file apprentice-0.1.6.tar.gz.

File metadata

  • Download URL: apprentice-0.1.6.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3

File hashes

Hashes for apprentice-0.1.6.tar.gz
Algorithm Hash digest
SHA256 f44ee36aa9b91caf433d26ea75ffaf94844f0bece3af00a3f501a97628dbbb3a
MD5 02ee9de29f0d4a82af1640ae96af08ed
BLAKE2b-256 b4b1c69ce815eb92d22ed6c18775e8c64f339b36f776e6927df353d8c5dc7542

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