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 uses is the ability to unpack the objects directly into the 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)

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.12.tar.gz (31.0 kB view details)

Uploaded Source

Built Distribution

slackblocks-1.0.12-py3-none-any.whl (36.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: slackblocks-1.0.12.tar.gz
  • Upload date:
  • Size: 31.0 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.12.tar.gz
Algorithm Hash digest
SHA256 2e7d122bc309487cfaa2e9b297dad961d86e93abef3f12b7e98d0febc7d2d1e4
MD5 bab157af9de79c5e035c8ab50615971f
BLAKE2b-256 56bc7cf38dc3d042258e58d2c33be4693589523084f2dd2fd58d9033ba02e104

See more details on using hashes here.

File details

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

File metadata

  • Download URL: slackblocks-1.0.12-py3-none-any.whl
  • Upload date:
  • Size: 36.3 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.12-py3-none-any.whl
Algorithm Hash digest
SHA256 d39cd9104cc6fcc830bd290891e66cef79a8d16966172a9e5900f92e12a5b4a4
MD5 5ba7d0a2c1c662af2d2427227bc9bb26
BLAKE2b-256 974c7265a289d3cffbf07c51d3a465174e2c91eb3cd4de3959b360ed3d04d704

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