{ "info": { "author": "Andrew Graham-Yooll", "author_email": "andrewgy8@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "![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/)", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/andrewgy8/apprentice", "keywords": "", "license": "GNU", "maintainer": "", "maintainer_email": "", "name": "apprentice", "package_url": "https://pypi.org/project/apprentice/", "platform": "", "project_url": "https://pypi.org/project/apprentice/", "project_urls": { "Homepage": "https://github.com/andrewgy8/apprentice" }, "release_url": "https://pypi.org/project/apprentice/0.4.2/", "requires_dist": null, "requires_python": ">=3.6.0", "summary": "Apprentice is a library for deploying and developing actions via Dialogflow and Google Cloud Functions.", "version": "0.4.2" }, "last_serial": 4975642, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "0d28ed6e59fbbcb3e77568f430fc573d", "sha256": "690384406bd7428fd0bd458d5c9d60a5f4c4cdb5e8dea792fedd2a0fccfd4de1" }, "downloads": -1, "filename": "apprentice-0.1.0.tar.gz", "has_sig": false, "md5_digest": "0d28ed6e59fbbcb3e77568f430fc573d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 16684, "upload_time": "2018-11-16T22:54:45", "url": "https://files.pythonhosted.org/packages/de/4f/92fbe24d1d9f1d3693a3775d4c6a27bf9bfe3a9df685ef17cc889bb19c8a/apprentice-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ee5f3fd8ddfa6685f8cc56251b76060a", "sha256": "a20cf4ad068b932f188f0fd15476260aa28586e8ac12af7154a60f25ce9e8ffa" }, "downloads": -1, "filename": "apprentice-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ee5f3fd8ddfa6685f8cc56251b76060a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 16963, "upload_time": "2018-11-17T10:13:01", "url": "https://files.pythonhosted.org/packages/d9/5e/9d749684d7296555d50021f0443670c7ff4ecc19e3e2e75fc6ba0b5b6bc6/apprentice-0.1.1.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "68cd1bd3484c99bda26e51dcadb2cf0f", "sha256": "7e96ee912c23016d7c7547ef7a918c040da76e7e62b5ac6a2b68dd3597d12268" }, "downloads": -1, "filename": "apprentice-0.1.5.tar.gz", "has_sig": false, "md5_digest": "68cd1bd3484c99bda26e51dcadb2cf0f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 20024, "upload_time": "2018-11-17T18:47:33", "url": "https://files.pythonhosted.org/packages/ea/f8/9ec6ce93e6d9626adff4f0130f25275adda749262f0e1a8c8abf54b4e934/apprentice-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "02ee9de29f0d4a82af1640ae96af08ed", "sha256": "f44ee36aa9b91caf433d26ea75ffaf94844f0bece3af00a3f501a97628dbbb3a" }, "downloads": -1, "filename": "apprentice-0.1.6.tar.gz", "has_sig": false, "md5_digest": "02ee9de29f0d4a82af1640ae96af08ed", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 18301, "upload_time": "2018-11-18T20:11:22", "url": "https://files.pythonhosted.org/packages/b4/b1/c69ce815eb92d22ed6c18775e8c64f339b36f776e6927df353d8c5dc7542/apprentice-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "cabc9b10480117a04603036f02507316", "sha256": "4c22834479e94e5f351d057e1101e8e33100392dee3b0a009cba95aeb11527d6" }, "downloads": -1, "filename": "apprentice-0.1.7.tar.gz", "has_sig": false, "md5_digest": "cabc9b10480117a04603036f02507316", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 17942, "upload_time": "2018-12-06T10:19:06", "url": "https://files.pythonhosted.org/packages/33/2f/b96771a3728dc00571bb760661b851efad42c056a4be8913e92098ed91d9/apprentice-0.1.7.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "05975d68a6408ebc744b53c83055a589", "sha256": "6f8a6a87372841b9b428f4e80ee8e45a899cab52ba046a5a6f4d0df3332bdfd0" }, "downloads": -1, "filename": "apprentice-0.2.0.tar.gz", "has_sig": false, "md5_digest": "05975d68a6408ebc744b53c83055a589", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 17928, "upload_time": "2018-12-06T19:45:21", "url": "https://files.pythonhosted.org/packages/0c/fa/57dc908296e11eb9eff1229288ea393eece7ef41ab4bbe6da4f9efd65d84/apprentice-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "8e777c6f2b1198fdda6b3fa0fc95f0eb", "sha256": "70be79b269867bca7d54321492384ca56c945cddbe6833cadd3214dd63be1941" }, "downloads": -1, "filename": "apprentice-0.3.0.tar.gz", "has_sig": false, "md5_digest": "8e777c6f2b1198fdda6b3fa0fc95f0eb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 17889, "upload_time": "2018-12-09T20:15:34", "url": "https://files.pythonhosted.org/packages/8e/04/a2289699aff510035a8413acaededfacb610ef13a6136049bc46fc25d2ff/apprentice-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "021d343d37e5b2e771c4773f47290501", "sha256": "a2f6177b3321c77bc27ff2f0162aa991b06f0f88e36ec98b2ce1cad5b9da4397" }, "downloads": -1, "filename": "apprentice-0.3.1.tar.gz", "has_sig": false, "md5_digest": "021d343d37e5b2e771c4773f47290501", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 18205, "upload_time": "2018-12-20T14:44:00", "url": "https://files.pythonhosted.org/packages/ed/20/c3fd4e18010adef39d2340410a9470cd7e2924889389431606ec782bfd7a/apprentice-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "112bbe51bec4321183de0b4e4a7cc8fa", "sha256": "97c13b4ac44e0bf23ab9681d115d56bdef3ebb2330a201fc739b2938a2a08d9a" }, "downloads": -1, "filename": "apprentice-0.4.0.tar.gz", "has_sig": false, "md5_digest": "112bbe51bec4321183de0b4e4a7cc8fa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 18699, "upload_time": "2019-01-10T18:49:24", "url": "https://files.pythonhosted.org/packages/5d/87/2dc41b5ab142ee4b729d6d18eebb23fb2f6169577489bb0023c29f7906d2/apprentice-0.4.0.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "dec8611327c8bafcdc37e374ce99dc5b", "sha256": "735471f06d45186b7f2e93d3f02cd0eae67b586eb5647ddd9b5df3547e2d5de7" }, "downloads": -1, "filename": "apprentice-0.4.2.tar.gz", "has_sig": false, "md5_digest": "dec8611327c8bafcdc37e374ce99dc5b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 17729, "upload_time": "2019-03-23T11:58:56", "url": "https://files.pythonhosted.org/packages/5b/7d/b0ed1a2c945670ada605bd46e7af300c73ef70ae8d2ec8e006c5e062ab13/apprentice-0.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dec8611327c8bafcdc37e374ce99dc5b", "sha256": "735471f06d45186b7f2e93d3f02cd0eae67b586eb5647ddd9b5df3547e2d5de7" }, "downloads": -1, "filename": "apprentice-0.4.2.tar.gz", "has_sig": false, "md5_digest": "dec8611327c8bafcdc37e374ce99dc5b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 17729, "upload_time": "2019-03-23T11:58:56", "url": "https://files.pythonhosted.org/packages/5b/7d/b0ed1a2c945670ada605bd46e7af300c73ef70ae8d2ec8e006c5e062ab13/apprentice-0.4.2.tar.gz" } ] }