{"id":16814039,"url":"https://github.com/andrewgy8/apprentice","last_synced_at":"2025-03-22T03:31:14.136Z","repository":{"id":57411098,"uuid":"157926357","full_name":"andrewgy8/apprentice","owner":"andrewgy8","description":"Built for streamlining development of Google Assistant Actions ","archived":false,"fork":false,"pushed_at":"2019-05-16T07:05:29.000Z","size":73,"stargazers_count":11,"open_issues_count":13,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-13T21:16:44.607Z","etag":null,"topics":["dialogflow","dialogflow-action","google-actions","google-cloud-functions","google-voice","python","serverless"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrewgy8.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-16T22:03:18.000Z","updated_at":"2025-02-09T19:38:26.000Z","dependencies_parsed_at":"2022-09-09T16:02:08.873Z","dependency_job_id":null,"html_url":"https://github.com/andrewgy8/apprentice","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewgy8%2Fapprentice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewgy8%2Fapprentice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewgy8%2Fapprentice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewgy8%2Fapprentice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrewgy8","download_url":"https://codeload.github.com/andrewgy8/apprentice/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244177648,"owners_count":20410993,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dialogflow","dialogflow-action","google-actions","google-cloud-functions","google-voice","python","serverless"],"created_at":"2024-10-13T10:28:30.047Z","updated_at":"2025-03-22T03:31:13.866Z","avatar_url":"https://github.com/andrewgy8.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![rocket ship](https://storage.googleapis.com/andrews-personal-space/IMG_8681-1.png)\n\n# Apprentice\n[![Build Status](https://travis-ci.com/andrewgy8/apprentice.svg?branch=master)](https://travis-ci.com/andrewgy8/apprentice)\n[![PyPI version](https://badge.fury.io/py/apprentice.svg)](https://badge.fury.io/py/apprentice)\n\nApprentice is a framework built for developing Google Actions \nvia [Dialogflow](https://dialogflow.com) and \n[Google Cloud (serverless) Functions](https://cloud.google.com/functions/).\n\nIncludes:\n- plug-and-play feel to get going quickly\n- basic Dialogflow API 2.0 response handling\n- local setup for quick iteration\n\n## Installation\n\n```bash\npip install apprentice\n```\n\n## Quickstart\n\nWe recommend you read the full tutorial [here](https://medium.com/@andrew_32881/hey-google-talk-to-24dfd336acd).  \n\nA Google Action project will consist of two things:\n1. [Dialogflow Intent](https://dialogflow.com/docs/intents)\n1. A webhook to satisfy your users intent\n \nTo generate a \"Hello World\" webhook, run:\n\n```bash\n$ apprentice init\n```\n\nThis will create a file structure:\n\n```bash\nsrc/\n    main.py\n    requirements.txt\n```\n\nRun a local server with \n```bash\n$ apprentice run\n```\n\nand expose to localhost port via an https tunnel. Then add the url to the fulfillment\nwebhook in Dialogflow.  \n\nFor a more indepth example please see the tutorial I wrote \n[here](https://medium.com/@andrew_32881/hey-google-talk-to-24dfd336acd).\n\n## Deployment\n\n### Note\n[`gcloud` cli](https://cloud.google.com/sdk/docs/quickstarts) must be installed and authorized for the following command \nto work. If you wish to not have `gcloud` cli installed, you can copy the file contents via the gcloud \nfunction dashboard.   \n\n```bash\n$ apprentice -f hello_world -s hello_world_agent -e hello_world\n```\n\nThis will generate the command to execute a `gcloud function deploy` via the cli.  \n\n## Contributing\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n[GNU 3.0](https://choosealicense.com/licenses/gpl-3.0/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewgy8%2Fapprentice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewgy8%2Fapprentice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewgy8%2Fapprentice/lists"}