neon-mana-utils


Nameneon-mana-utils JSON
Version 0.2.2 PyPI version JSON
download
home_pagehttps://github.com/neongeckocom/neon-mana-utils
SummaryMessage Application for Neon AI
upload_time2023-07-20 18:01:57
maintainer
docs_urlNone
authorNeongecko
requires_python>=3.6
licenseBSD-3-Clause
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Neon Mana
Neon Mana (Messagebus Application for Neon AI) provides tools for interacting with 
the [MessageBus](https://mycroft-ai.gitbook.io/docs/mycroft-technologies/mycroft-core/message-bus).

Install the Mana utilities Python package with: `pip install neon-mana-utils`
The `mana` entrypoint is available to interact with a bus via CLI. Help is available via `mana --help`.

## Configuration
The default behavior of Mana is to connect to the default core bus (`ws://0.0.0.0:8181/core`). The connection can be 
configured for all `mana` commands via:

```shell
mana configure-messagebus --host "192.168.1.100" --port 18181
```
* `--host` specifies the host URL or IP address
* `--port` specifies the port the `MessageBus` is running on

Any unspecified arguments will use default values.

All configurations can be printed to the terminal with:

```shell
mana print-config
```

## Monitoring
Mana can connect to a messagebus and log all `Message` objects sent on that bus.

```shell
mana tail-messagebus --format
```
* `--format` flag formats serialized messages printed to the shell

### Filtering Messages by type
`--include` and `--exclude` arguments may be passed to include or exclude messages 
with `msg_type` matching specified prefixes. Global filters may be specified in: 
`${XDG_CONFIG_HOME}/mana/filters.yml`. An example filter file is included here:

```yaml
include:
  - recognizer_loop
exclude:
  - "recognizer_loop:utterance"
```

The spec above would log any `Message`s that start with `recognizer_loop`, except
messages with type `recognizer_loop:utterance`.

### Monitoring other MessageBusses
`--host`, `--port`, `--route`, and `--ssl` may be specified to monitor a different 
messagebus without changing the configured bus that is used for other commands. A 
common use case would be to monitor the GUI bus while interacting with the core bus.

## Sending Messages
There are several commands available to interact with a connected Core.

### `send-message`
Send an arbitrary `Message` over the `MessageBus`. The specified file should be a json or yaml
serialized message. `--response` may optionally define a response message type to wait for and print to the terminal.

### Basic Commands
These are commands supported by Mycroft and all derivative cores; they replicate some of
the commands originally found in [mycroft-core/bin](https://github.com/MycroftAI/mycroft-core/tree/e6fe1bbc8affd2f7b22455dc21539ee6725fb45b/bin).

#### `listen`
Send a `mycroft.mic.listen` Message.

#### `stop`
Send a `mycroft.stop` Message.

#### `say-to`
Send a `recognizer_loop:utterance` Message to skills for processing. This sends a minimal message that is
not sufficient for testing user profiles or multi-user cores.

#### `speak`
Send a `speak` Message to TTS for generation and playback

### Messagebus API
These commands are currently specified for `neon-core` only and are not supported 
by other cores. Work is ongoing to standardize these entrypoints across projects.

#### `get-stt`
Send a `neon.get_stt` Message and print the returned Message with transcriptions.
This will only work under NeonCore.

#### `get-tts`
Send a `neon.get_tts` Message and print the returned Message with a path to generated TTS.
This will only work under NeonCore.

#### `get-response`
Send a `recognizer_loop:utterance` Message with the appropriate context to return a `klat.shout` response.
This will only work under NeonCore and will likely be refactored to reflect NeonCore changes.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/neongeckocom/neon-mana-utils",
    "name": "neon-mana-utils",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "Neongecko",
    "author_email": "developers@neon.ai",
    "download_url": "https://files.pythonhosted.org/packages/dd/0b/8b4e57fa435ff7bdcef292849d3535a65d0ba7784bd4f975b7bdb120b49a/neon-mana-utils-0.2.2.tar.gz",
    "platform": null,
    "description": "# Neon Mana\nNeon Mana (Messagebus Application for Neon AI) provides tools for interacting with \nthe [MessageBus](https://mycroft-ai.gitbook.io/docs/mycroft-technologies/mycroft-core/message-bus).\n\nInstall the Mana utilities Python package with: `pip install neon-mana-utils`\nThe `mana` entrypoint is available to interact with a bus via CLI. Help is available via `mana --help`.\n\n## Configuration\nThe default behavior of Mana is to connect to the default core bus (`ws://0.0.0.0:8181/core`). The connection can be \nconfigured for all `mana` commands via:\n\n```shell\nmana configure-messagebus --host \"192.168.1.100\" --port 18181\n```\n* `--host` specifies the host URL or IP address\n* `--port` specifies the port the `MessageBus` is running on\n\nAny unspecified arguments will use default values.\n\nAll configurations can be printed to the terminal with:\n\n```shell\nmana print-config\n```\n\n## Monitoring\nMana can connect to a messagebus and log all `Message` objects sent on that bus.\n\n```shell\nmana tail-messagebus --format\n```\n* `--format` flag formats serialized messages printed to the shell\n\n### Filtering Messages by type\n`--include` and `--exclude` arguments may be passed to include or exclude messages \nwith `msg_type` matching specified prefixes. Global filters may be specified in: \n`${XDG_CONFIG_HOME}/mana/filters.yml`. An example filter file is included here:\n\n```yaml\ninclude:\n  - recognizer_loop\nexclude:\n  - \"recognizer_loop:utterance\"\n```\n\nThe spec above would log any `Message`s that start with `recognizer_loop`, except\nmessages with type `recognizer_loop:utterance`.\n\n### Monitoring other MessageBusses\n`--host`, `--port`, `--route`, and `--ssl` may be specified to monitor a different \nmessagebus without changing the configured bus that is used for other commands. A \ncommon use case would be to monitor the GUI bus while interacting with the core bus.\n\n## Sending Messages\nThere are several commands available to interact with a connected Core.\n\n### `send-message`\nSend an arbitrary `Message` over the `MessageBus`. The specified file should be a json or yaml\nserialized message. `--response` may optionally define a response message type to wait for and print to the terminal.\n\n### Basic Commands\nThese are commands supported by Mycroft and all derivative cores; they replicate some of\nthe commands originally found in [mycroft-core/bin](https://github.com/MycroftAI/mycroft-core/tree/e6fe1bbc8affd2f7b22455dc21539ee6725fb45b/bin).\n\n#### `listen`\nSend a `mycroft.mic.listen` Message.\n\n#### `stop`\nSend a `mycroft.stop` Message.\n\n#### `say-to`\nSend a `recognizer_loop:utterance` Message to skills for processing. This sends a minimal message that is\nnot sufficient for testing user profiles or multi-user cores.\n\n#### `speak`\nSend a `speak` Message to TTS for generation and playback\n\n### Messagebus API\nThese commands are currently specified for `neon-core` only and are not supported \nby other cores. Work is ongoing to standardize these entrypoints across projects.\n\n#### `get-stt`\nSend a `neon.get_stt` Message and print the returned Message with transcriptions.\nThis will only work under NeonCore.\n\n#### `get-tts`\nSend a `neon.get_tts` Message and print the returned Message with a path to generated TTS.\nThis will only work under NeonCore.\n\n#### `get-response`\nSend a `recognizer_loop:utterance` Message with the appropriate context to return a `klat.shout` response.\nThis will only work under NeonCore and will likely be refactored to reflect NeonCore changes.\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "Message Application for Neon AI",
    "version": "0.2.2",
    "project_urls": {
        "Homepage": "https://github.com/neongeckocom/neon-mana-utils"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "67141417e7c871e311a11d6da093cac52e8e5e342c8f6bed73a568344968d2e7",
                "md5": "580f0a2e23d8b71cc9a64552a50f78df",
                "sha256": "a28751ca1f53b9d89d109b1d79e6f66477098d9efb5a2c7eb2ba3fd0be7ae871"
            },
            "downloads": -1,
            "filename": "neon_mana_utils-0.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "580f0a2e23d8b71cc9a64552a50f78df",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 22998,
            "upload_time": "2023-07-20T18:01:55",
            "upload_time_iso_8601": "2023-07-20T18:01:55.818768Z",
            "url": "https://files.pythonhosted.org/packages/67/14/1417e7c871e311a11d6da093cac52e8e5e342c8f6bed73a568344968d2e7/neon_mana_utils-0.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dd0b8b4e57fa435ff7bdcef292849d3535a65d0ba7784bd4f975b7bdb120b49a",
                "md5": "30368df201e326964a6b191f7ece0a48",
                "sha256": "23c5e944e1b8d00b8f090fe6e59e4ddbf17d62cbc591e3bdc525786f2774e0da"
            },
            "downloads": -1,
            "filename": "neon-mana-utils-0.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "30368df201e326964a6b191f7ece0a48",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 12704,
            "upload_time": "2023-07-20T18:01:57",
            "upload_time_iso_8601": "2023-07-20T18:01:57.413617Z",
            "url": "https://files.pythonhosted.org/packages/dd/0b/8b4e57fa435ff7bdcef292849d3535a65d0ba7784bd4f975b7bdb120b49a/neon-mana-utils-0.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-20 18:01:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "neongeckocom",
    "github_project": "neon-mana-utils",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "neon-mana-utils"
}
        
Elapsed time: 0.65240s