Name | gassist-text JSON |
Version |
0.0.10
JSON |
| download |
home_page | |
Summary | A Python library for interacting with Google Assistant API via text |
upload_time | 2023-01-13 13:23:27 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.7 |
license | |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# gassist_text
A Python library for interacting with Google Assistant API via text
## Credits
Uses <https://pypi.org/project/google-assistant-grpc/>. See instructions there how to get `credentials.json`.
Code is essentially a copy of <https://github.com/googlesamples/assistant-sdk-python/blob/master/google-assistant-sdk/googlesamples/assistant/grpc/textinput.py> wrapped in a package.
## Example
```python
import json
import google.oauth2.credentials
with open('/path/to/credentials.json', 'r') as f:
credentials = google.oauth2.credentials.Credentials(token=None, **json.load(f))
from gassist_text import TextAssistant
with TextAssistant(credentials) as assistant:
print(assistant.assist('tell me a joke')[0])
print(assistant.assist('another one')[0])
```
## Limitations/Known issues
- Broadcast commands don't work unless speakers and device that runs this library are in the same network and IPv6 is disabled in the router
- Most queries for media controls don't work
- not working: e.g. play music on kitchen speaker, stop kitchen speaker
- working: e.g. play news on kitchen speaker, play rain sounds on bedroom speaker
- Routines don't work
- Queries for personal results don't work
## Development environment
```sh
python3 -m venv .venv
source .venv/bin/activate
# for Windows CMD:
# .venv\Scripts\activate.bat
# for Windows PowerShell:
# .venv\Scripts\Activate.ps1
# Install dependencies
python -m pip install --upgrade pip
python -m pip install .
# Generate embedded_assistant_pb2.py and embedded_assistant_pb2_grpc.py
python -m pip install grpcio-tools
python -m grpc_tools.protoc -Isrc --python_out=src --grpc_python_out=src src/google/assistant/embedded/v1alpha2/embedded_assistant.proto
# Run lint
python -m pip install flake8
flake8 src/gassist_text tests demo.py browser_helpers.py --count --select=E9,F63,F7,F82 --show-source --statistics
flake8 src/gassist_text tests demo.py browser_helpers.py --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
# Run tests
python -m pip install pytest
pytest
# Run command line interactive tool
python -m pip install click beautifulsoup4
python demo.py --display --audio_out
# Build package
python -m pip install build
python -m build
```
Raw data
{
"_id": null,
"home_page": "",
"name": "gassist-text",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "",
"author": "",
"author_email": "tronikos <tronikos@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/c6/26/a88286d0a5361020af2b676e968df05972a9d1f888452317114c58b0981e/gassist-text-0.0.10.tar.gz",
"platform": null,
"description": "# gassist_text\n\nA Python library for interacting with Google Assistant API via text\n\n## Credits\n\nUses <https://pypi.org/project/google-assistant-grpc/>. See instructions there how to get `credentials.json`.\n\nCode is essentially a copy of <https://github.com/googlesamples/assistant-sdk-python/blob/master/google-assistant-sdk/googlesamples/assistant/grpc/textinput.py> wrapped in a package.\n\n## Example\n\n```python\nimport json\nimport google.oauth2.credentials\nwith open('/path/to/credentials.json', 'r') as f:\n credentials = google.oauth2.credentials.Credentials(token=None, **json.load(f))\n\nfrom gassist_text import TextAssistant\nwith TextAssistant(credentials) as assistant:\n print(assistant.assist('tell me a joke')[0])\n print(assistant.assist('another one')[0])\n```\n\n## Limitations/Known issues\n\n- Broadcast commands don't work unless speakers and device that runs this library are in the same network and IPv6 is disabled in the router\n- Most queries for media controls don't work\n - not working: e.g. play music on kitchen speaker, stop kitchen speaker\n - working: e.g. play news on kitchen speaker, play rain sounds on bedroom speaker\n- Routines don't work\n- Queries for personal results don't work\n\n## Development environment\n\n```sh\npython3 -m venv .venv\nsource .venv/bin/activate\n# for Windows CMD:\n# .venv\\Scripts\\activate.bat\n# for Windows PowerShell:\n# .venv\\Scripts\\Activate.ps1\n\n# Install dependencies\npython -m pip install --upgrade pip\npython -m pip install .\n\n# Generate embedded_assistant_pb2.py and embedded_assistant_pb2_grpc.py\npython -m pip install grpcio-tools\npython -m grpc_tools.protoc -Isrc --python_out=src --grpc_python_out=src src/google/assistant/embedded/v1alpha2/embedded_assistant.proto\n\n# Run lint\npython -m pip install flake8\nflake8 src/gassist_text tests demo.py browser_helpers.py --count --select=E9,F63,F7,F82 --show-source --statistics\nflake8 src/gassist_text tests demo.py browser_helpers.py --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics\n\n# Run tests\npython -m pip install pytest\npytest\n\n# Run command line interactive tool\npython -m pip install click beautifulsoup4\npython demo.py --display --audio_out\n\n# Build package\npython -m pip install build\npython -m build\n```\n",
"bugtrack_url": null,
"license": "",
"summary": "A Python library for interacting with Google Assistant API via text",
"version": "0.0.10",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a3a79073744dd7626bcccb3d9620cf94f7c64058ad57028d615f08547f6b79df",
"md5": "504af0472ddb25ad3c74c1f85dc44815",
"sha256": "a3292d85059ba0f97a03e3af74fcfc42e23569fa175749965826105ae6dc7f11"
},
"downloads": -1,
"filename": "gassist_text-0.0.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "504af0472ddb25ad3c74c1f85dc44815",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 13841,
"upload_time": "2023-01-13T13:23:26",
"upload_time_iso_8601": "2023-01-13T13:23:26.534421Z",
"url": "https://files.pythonhosted.org/packages/a3/a7/9073744dd7626bcccb3d9620cf94f7c64058ad57028d615f08547f6b79df/gassist_text-0.0.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c626a88286d0a5361020af2b676e968df05972a9d1f888452317114c58b0981e",
"md5": "25576ad124948be032dcc6ee3712a927",
"sha256": "285ba95c07f0641d91697c139af70fb462f8e48411f26cf1db799ec064c7193e"
},
"downloads": -1,
"filename": "gassist-text-0.0.10.tar.gz",
"has_sig": false,
"md5_digest": "25576ad124948be032dcc6ee3712a927",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 11559,
"upload_time": "2023-01-13T13:23:27",
"upload_time_iso_8601": "2023-01-13T13:23:27.643226Z",
"url": "https://files.pythonhosted.org/packages/c6/26/a88286d0a5361020af2b676e968df05972a9d1f888452317114c58b0981e/gassist-text-0.0.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-13 13:23:27",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "gassist-text"
}