Skip to main content

Python wrapper for the Slack Blocks API

Project description

slackblocks

Licence: MIT Licence: BSD-3-Clause Python Versions PyPI Downloads Build Status Docs

What is it?

slackblocks is a Python API for building messages in the fancy Slack Block Kit API

Documentation

Full documentation is provided here.

Requirements

slackblocks requires Python >= 3.8.

As of version 0.1.0 it has no dependencies outside the Python standard library.

Installation

pip install slackblocks

Basic Usage

from slackblocks import Message, SectionBlock


block = SectionBlock("Hello, world!")
message = Message(channel="#general", blocks=block)
message.json()

Will produce the following JSON string:

{
    "channel": "#general",
    "mrkdwn": true,
    "blocks": [
        {
            "type": "section",
            "block_id": "992ceb6b-9ad4-496b-b8e6-1bd8a632e8b3",
            "text": {
                "type": "mrkdwn",
                "text": "Hello, world!"
            }
        }
    ]
}

Which can be sent as payload to the Slack message API HTTP endpoints.

Of more practical use is the ability to unpack the objects directly into the (Legacy) Python Slack Client in order to send messages:

from os import environ
from slack import WebClient
from slackblocks import Message, SectionBlock


client = WebClient(token=environ["SLACK_API_TOKEN"])
block = SectionBlock("Hello, world!")
message = Message(channel="#general", blocks=block)

response = client.chat_postMessage(**message)

Or the modern Python Slack SDK:

from os import environ
from slack_sdk import WebClient
from slackblocks import Message, SectionBlock


client = WebClient(token=environ["SLACK_API_TOKEN"])
block = SectionBlock("Hello, world!")
message = Message(channel="#general", blocks=block)

response = client.chat_postMessage(**message)

Note the ** operator in front of the message object.

Can I use this in my project?

Yes, please do! The code is all open source and dual BSD-3.0 and MIT licensed (use what suits you best).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slackblocks-1.0.13.tar.gz (31.1 kB view details)

Uploaded Source

Built Distribution

slackblocks-1.0.13-py3-none-any.whl (36.4 kB view details)

Uploaded Python 3

File details

Details for the file slackblocks-1.0.13.tar.gz.

File metadata

  • Download URL: slackblocks-1.0.13.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.11.10 Linux/6.5.0-1025-azure

File hashes

Hashes for slackblocks-1.0.13.tar.gz
Algorithm Hash digest
SHA256 221c4d900c313af87f9dd5b5cfdf5019c0b0f801b55f304ba8631fef9beafffb
MD5 aaa2fc49a918d23c2caa32b80e8915b9
BLAKE2b-256 68f530bc8800ebee58f4a753606e702db5522b3149ebeaff9c13982e139390f5

See more details on using hashes here.

File details

Details for the file slackblocks-1.0.13-py3-none-any.whl.

File metadata

  • Download URL: slackblocks-1.0.13-py3-none-any.whl
  • Upload date:
  • Size: 36.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.11.10 Linux/6.5.0-1025-azure

File hashes

Hashes for slackblocks-1.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 366c0366657848fa1fb182e2bd7006eb5b855f834b4a2aba1de4696ceb6479d6
MD5 cd12e5ad52816126c990cf303f6ee59d
BLAKE2b-256 856c5ec7d3a959eea4e36fa5bf809bc9748f2b23545498edd828765db24c20df

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page