Welcome to slackblocks!
  
slackblocks is Python package for creating complex Slack messages 
    using the Slack BlockKit API.
It exists so you don't have to define block-based Slack messages by hand-writing JSON.
Components
The Slack BlockKit API defines a number of different resource types (all defined in JSON) which work together to define Block-based messages.
slackblocks makes using this API easier by providing a hierarchy of Python
    classes that represent these resources.
Objects
Objects (e.g. Text) 
    are the lowest level pimitives that are used to populate 
    Elements and Blocks.
Elements
Elements are typically interactive UI elements that take
    in Object to define their content. For example, the 
    CheckboxGroup element takes in one or
    more Option items and presents a
    checkbox menu to the user with those options.
Blocks
Blocks are the core element of the API, with different 
    Blocks used to create different types of visual
    elements. For example, the DividerBlock, 
    when rendered, will show a visual element similar to a <hr> HTML element. The
    RichTextBlock on the other hand
    allows for the display of text elements with visual styling like italics,
    block quotes, lists and code blocks. 
Messages
Messages are a convenience wrapper around Blocks that
    can be unpacked as arguments straight into the official Slack Python SDK (or
    its legacy slackclient counterpart).
Views
Views are an alternative usage for Blocks
    that allow for the creation of custom UI "surfaces" within Slack, e.g. for 
    third-party apps.
Guides
In addition to a complete reference of all classes and functions provided by the 
    slackblocks library, this documentation contains guides on: