{"id":13501771,"url":"https://github.com/treethought/flask-assistant","last_synced_at":"2025-05-16T16:08:39.620Z","repository":{"id":15064012,"uuid":"76535478","full_name":"treethought/flask-assistant","owner":"treethought","description":"Framework for Building Virtual Assistants with Dialogflow and python","archived":false,"fork":false,"pushed_at":"2023-02-16T01:33:40.000Z","size":1348,"stargazers_count":382,"open_issues_count":16,"forks_count":101,"subscribers_count":36,"default_branch":"master","last_synced_at":"2025-04-12T15:57:06.291Z","etag":null,"topics":["actions","api-ai","assistant","bots","chatbot","dialogflow","framework","google-assistant","google-home"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/treethought.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-12-15T07:36:57.000Z","updated_at":"2025-03-11T01:21:05.000Z","dependencies_parsed_at":"2024-01-16T10:37:35.952Z","dependency_job_id":"20f0267f-751e-49df-aab7-a8a7a815cba0","html_url":"https://github.com/treethought/flask-assistant","commit_stats":{"total_commits":378,"total_committers":26,"mean_commits":"14.538461538461538","dds":"0.19841269841269837","last_synced_commit":"0cb4f20ca60f04e57b36d6eb127b10b403772c78"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treethought%2Fflask-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treethought%2Fflask-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treethought%2Fflask-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treethought%2Fflask-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/treethought","download_url":"https://codeload.github.com/treethought/flask-assistant/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254564127,"owners_count":22092122,"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":["actions","api-ai","assistant","bots","chatbot","dialogflow","framework","google-assistant","google-home"],"created_at":"2024-07-31T22:01:49.825Z","updated_at":"2025-05-16T16:08:39.600Z","avatar_url":"https://github.com/treethought.png","language":"Python","readme":"Create Virtual Assistants with Python\n=====================================\n\n[![image](https://img.shields.io/pypi/v/flask-assistant.svg)](https://pypi.python.org/pypi/flask-assistant)\n[![image](https://travis-ci.org/treethought/flask-assistant.svg?branch=master)](https://travis-ci.org/treethought/flask-assistant) ![image](https://img.shields.io/badge/python-3.5,%203.6,%203.7-blue.svg) [![image](https://img.shields.io/badge/discord-join%20chat-green.svg)](https://discord.gg/m6YHGyJ)\n\nA flask extension serving as a framework to easily create virtual assistants using [Dialogflow](https://dialogflow.com/docs) which may be integrated\nwith platforms such as [Actions on\nGoogle](https://developers.google.com/actions/develop/apiai/) (Google\nAssistant).\n\nFlask-Assistant allows you to focus on building the core business logic\nof conversational user interfaces while utilizing Dialogflow's Natural\nLanguage Processing to interact with users.\n\n**Now supports Dialogflow V2!**\n\nThis project is heavily inspired and based on John Wheeler's\n[Flask-ask](https://github.com/johnwheeler/flask-ask) for the Alexa\nSkills Kit.\n\nFeatures\n--------\n\n\u003e - Mapping of user-triggered Intents to action functions\n\u003e - Context support for crafting dialogue dependent on the user's requests\n\u003e - Define prompts for missing parameters when they are not present in the users request or past active contexts\n\u003e - A convenient syntax resembling Flask's decoratored routing\n\u003e - Rich Responses for Google Assistant\n\nHello World\n-----------\n\n```python\nfrom flask import Flask\nfrom flask_assistant import Assistant, ask\n\napp = Flask(__name__)\nassist = Assistant(app, project_id=\"GOOGLE_CLOUD_PROJECT_ID\")\n\n@assist.action(\"Demo\")\ndef hello_world():\n    speech = \"Microphone check 1, 2 what is this?\"\n    return ask(speech)\n\nif __name__ == \"__main__\":\n    app.run(debug=True)\n```\n\nHow-To\n------\n\n\u003e 1.  Create an Assistant object with a Flask app.\n\u003e 2.  Use action decorators to map intents to the\n\u003e     proper action function.\n\u003e 3.  Use action view functions to return ask or tell responses.\n\nDocumentation\n-------------\n\n-   Check out the [Quick\n    Start](http://flask-assistant.readthedocs.io/en/latest/quick_start.html)\n    to jump right in\n-   View the full\n    [documentation](http://flask-assistant.readthedocs.io/en/latest/)\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftreethought%2Fflask-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftreethought%2Fflask-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftreethought%2Fflask-assistant/lists"}