alert-msgs


Namealert-msgs JSON
Version 0.5.0 PyPI version JSON
download
home_page
SummaryEasily construct and send formatted emails and Slack alerts.
upload_time2024-03-05 14:29:04
maintainer
docs_urlNone
author
requires_python
licenseMIT
keywords alert message notification slack email
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## Easily construct and send formatted emails and Slack alerts.

### Install
```bash
pip install alert_msgs
```

If using Slack as an alert destination, you will need to set up a [Slack App](https://api.slack.com/apps?new_app=1) and get a bot token configured with OAuth permissions.
1. Go to [Slack Apps](https://api.slack.com/apps?new_app=1). Click **Create New App** -> **From Scratch** (give it a name, select your workspace)
2. Navigate to the **OAuth & Permissions** on the left sidebar and scroll down to the **Bot Token Scopes** section. Add `chat:write` and `file:write` OAuth scopes.
3. Scroll up to the top of the **OAuth & Permissions** page and click **Install App to Workspace**.
4. Copy the **Bot User OAuth Token** from the **OAuth & Permissions** page. This is the value that should be used for the `bot_token` parameter of [Slack](./alert_msgs/config.py#L26) config.
5. In Slack, go to your channel and click the down arrow next to your channel name at the top. Click **Integrations** -> **Add apps** -> select the app you just made.

### Usage
[send_alert](./alert_msgs/alerts.py#L35) is the high-level/easiest way to send alerts.    
Alerts are composed of one or more messages, where each message is composed of one or more [components](./alert_msgs/components.py).   
Alerts can be sent to one or more Slack and/or Email destinations. See [destinations](./alert_msgs/destinations.py) for configuration.   


### Examples

```python
from alert_msgs import Email, Slack, ContentType, FontSize, Map, Text, Table, send_alert, send_slack_message, send_email
from uuid import uuid4
import random

components = [
    Text(
        "Important things have happened.",
        size=FontSize.LARGE,
        color=ContentType.IMPORTANT,
    ),
    Map({"Field1": "Value1", "Field2": "Value2", "Field3": "Value3"}),
    Table(
        rows=[
            {
                "Process": "thing-1",
                "Status": 0,
                "Finished": True,
            },
            {
                "Process": "thing-2",
                "Status": 1,
                "Finished": False,
            }
        ],
        caption="Process Status",
    ),
]

send_to = [
    Email(sender_addr="me@gmail.com", password="myemailpass", receiver_addr=["someone@gmail.com","someone2@gmail.com"]), 
    Slack(bot_token="xoxb-34248928439763-6634233945735-KbePKXfstIRv6YN2tW5UF8tS", channel="my-channel")
]
send_alert(components, subject="Test Alert",  send_to=send_to)
```

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "alert-msgs",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "alert,message,notification,slack,email",
    "author": "",
    "author_email": "Dan Kelleher <kelleherjdan@gmail.com>",
    "download_url": "",
    "platform": null,
    "description": "## Easily construct and send formatted emails and Slack alerts.\n\n### Install\n```bash\npip install alert_msgs\n```\n\nIf using Slack as an alert destination, you will need to set up a [Slack App](https://api.slack.com/apps?new_app=1) and get a bot token configured with OAuth permissions.\n1. Go to [Slack Apps](https://api.slack.com/apps?new_app=1). Click **Create New App** -> **From Scratch** (give it a name, select your workspace)\n2. Navigate to the **OAuth & Permissions** on the left sidebar and scroll down to the **Bot Token Scopes** section. Add `chat:write` and `file:write` OAuth scopes.\n3. Scroll up to the top of the **OAuth & Permissions** page and click **Install App to Workspace**.\n4. Copy the **Bot User OAuth Token** from the **OAuth & Permissions** page. This is the value that should be used for the `bot_token` parameter of [Slack](./alert_msgs/config.py#L26) config.\n5. In Slack, go to your channel and click the down arrow next to your channel name at the top. Click **Integrations** -> **Add apps** -> select the app you just made.\n\n### Usage\n[send_alert](./alert_msgs/alerts.py#L35) is the high-level/easiest way to send alerts.    \nAlerts are composed of one or more messages, where each message is composed of one or more [components](./alert_msgs/components.py).   \nAlerts can be sent to one or more Slack and/or Email destinations. See [destinations](./alert_msgs/destinations.py) for configuration.   \n\n\n### Examples\n\n```python\nfrom alert_msgs import Email, Slack, ContentType, FontSize, Map, Text, Table, send_alert, send_slack_message, send_email\nfrom uuid import uuid4\nimport random\n\ncomponents = [\n    Text(\n        \"Important things have happened.\",\n        size=FontSize.LARGE,\n        color=ContentType.IMPORTANT,\n    ),\n    Map({\"Field1\": \"Value1\", \"Field2\": \"Value2\", \"Field3\": \"Value3\"}),\n    Table(\n        rows=[\n            {\n                \"Process\": \"thing-1\",\n                \"Status\": 0,\n                \"Finished\": True,\n            },\n            {\n                \"Process\": \"thing-2\",\n                \"Status\": 1,\n                \"Finished\": False,\n            }\n        ],\n        caption=\"Process Status\",\n    ),\n]\n\nsend_to = [\n    Email(sender_addr=\"me@gmail.com\", password=\"myemailpass\", receiver_addr=[\"someone@gmail.com\",\"someone2@gmail.com\"]), \n    Slack(bot_token=\"xoxb-34248928439763-6634233945735-KbePKXfstIRv6YN2tW5UF8tS\", channel=\"my-channel\")\n]\nsend_alert(components, subject=\"Test Alert\",  send_to=send_to)\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Easily construct and send formatted emails and Slack alerts.",
    "version": "0.5.0",
    "project_urls": null,
    "split_keywords": [
        "alert",
        "message",
        "notification",
        "slack",
        "email"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1fd28381dd2f5a19094102c9da1fb65c6c1fe9d0b3e5c5faf1fc05a135b995be",
                "md5": "f8deceaa7fb9ce6dd43084a5e47c74fa",
                "sha256": "87dfe0d39ed0e0d13c8a173b985934875c74b6ef9f286d6a3834b21d28f227f9"
            },
            "downloads": -1,
            "filename": "alert_msgs-0.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f8deceaa7fb9ce6dd43084a5e47c74fa",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 12642,
            "upload_time": "2024-03-05T14:29:04",
            "upload_time_iso_8601": "2024-03-05T14:29:04.030396Z",
            "url": "https://files.pythonhosted.org/packages/1f/d2/8381dd2f5a19094102c9da1fb65c6c1fe9d0b3e5c5faf1fc05a135b995be/alert_msgs-0.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-05 14:29:04",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "alert-msgs"
}
        
Elapsed time: 0.19760s