tk_slack
Slack Message Engine for TriggerKit
This file will become your README and also the index of your documentation.
Developer Guide
If you are new to using nbdev here are some useful pointers to get you started.
Install tk_slack in Development mode
# make sure tk_slack package is installed in development mode
$ pip install -e .
# make changes under nbs/ directory
# ...
# compile to have changes apply to tk_slack
$ nbdev_prepareUsage
Installation
Install latest from the GitHub repository:
$ pip install git+https://github.com/Datatistics/tk_slack.gitor from conda
$ conda install -c Datatistics tk_slackor from pypi
$ pip install tk_slackDocumentation
Documentation can be found hosted on this GitHub repository’s pages. Additionally you can find package manager specific guidelines on conda and pypi respectively.
---
config:
theme: redux
layout: dagre
look: handDrawn
---
flowchart TD
subgraph Core_Components["Core_Components"]
MessageTemplates["MessageTemplates<br>Creates formatted messages"]
BlockBuilder["BlockBuilder<br>Builds Slack Block Kit"]
InteractionBuilder["InteractionBuilder<br>Creates buttons, selects, etc."]
ActionIdManager["ActionIdManager<br>Generates & parses action IDs"]
MetadataHandler["MetadataHandler<br>Attaches/reads hidden metadata"]
ActionHandler["ActionHandler<br>Processes user actions"]
TemplateEngine["TemplateEngine<br>Transforms data to message blocks"]
SnowflakeConnector["SnowflakeConnector<br>Handles DB ops"]
end
subgraph Message_Creation_Flow["Message_Creation_Flow"]
DataInput["Data Input (DataFrame)"]
Configuration["Apply Configuration"]
BlockBuilding["Block Building"]
MetadataAddition["Metadata Addition"]
MessageSending["Send Message to Slack"]
end
subgraph User_Interaction_Flow["User_Interaction_Flow"]
UserAction["User Clicks Element"]
ActionDetection["Universal Handler Captures Action"]
MetadataExtraction["Extract Metadata"]
ActionProcessing["Process Action Logic"]
SnowflakeStorage["Store in Snowflake"]
Response["Send Slack Response"]
end
DataInput --> Configuration
Configuration --> BlockBuilding
BlockBuilding -- Uses --> TemplateEngine
TemplateEngine --> MessageTemplates & BlockBuilder & InteractionBuilder & MetadataAddition
InteractionBuilder --> ActionIdManager
MetadataAddition --> MetadataHandler & MessageSending
UserAction --> ActionDetection
ActionDetection --> ActionHandler
ActionHandler --> MetadataExtraction & ActionProcessing & TemplateEngine
MetadataExtraction --> MetadataHandler
ActionProcessing --> SnowflakeStorage & Response
SnowflakeStorage --> SnowflakeConnector