gassist-text


Namegassist-text JSON
Version 0.0.10 PyPI version JSON
download
home_page
SummaryA Python library for interacting with Google Assistant API via text
upload_time2023-01-13 13:23:27
maintainer
docs_urlNone
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"
}
        
Elapsed time: 0.02697s