pyblock-builder
A lightweight Python library with a declarative syntax for simplifying building apps using Slack's Block Kit UI framework
Decision gist · record as of 2026-08-14
Yes, if you are actively building Slack apps with Bolt for Python and want to avoid writing Block Kit JSON by hand. The low install friction and permissive license make it a safe add. However, be aware that maintenance is aging—no updates since early 2024—so if Slack's Block Kit API evolves significantly or you encounter bugs, you may need to fork or switch to an actively maintained alternative.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later (3.10, 3.11, or 3.12 supported); designed for use with Slack's Bolt for Python SDK.
- Low install friction with a single lightweight runtime dependency (typing-extensions).
- Maintenance is aging—last release was 2024-03-13 and the repository has not been updated since 2025-11-12, so expect no active bug fixes or feature development.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause is permissive; you may use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
last release 2024-03-13 (884 days) · last repo commit 2025-11-12 · 6 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 79,437 downloads/mo, #14,359 on PyPI
Alternatives
Verify before relying
pip install pyblock-builder
from pyblock_builder.surfaces import Message
from pyblock_builder.blocks import Section
msg = Message().add_block(Section(text="Hello, Slack!"))
print(msg.build())- Whether the aging maintenance status and lack of recent commits affect real-world compatibility with current Slack Block Kit API changes.
- How complete the coverage of Block Kit components is beyond the documented supported surfaces and blocks.
What it is and what it does
PyBlock Builder is a lightweight Python wrapper around Slack's Block Kit UI framework that lets you construct Slack app layouts (messages, modals, app home screens) using declarative Python classes instead of writing raw JSON. It provides surfaces (Message, Modal, AppHome), blocks (Section, Input, Divider, etc.), elements (Button, SelectMenu, DatePicker), and composition objects (Text, Option, ConfirmationDialog), plus a helper module for Slack's mrkdwn text formatting.
The library is optimized for use with Slack's Bolt for Python SDK and uses method chaining to keep code concise. It covers most common Block Kit components but does not yet support Workflow Steps or Rich Text blocks. The package has low install friction (one runtime dependency) but is in aging maintenance—the last release was 2024-03-13 with no recent commits, so it receives no active development or bug fixes.
Use it for
- Build Slack bot message layouts with Section, Button, and Input blocks without writing JSON by hand.
- Create interactive Slack modals for user input forms using declarative Python classes.
- Format Slack message text with mrkdwn helpers (bold, blockquote, etc.) to reduce string manipulation.
- Construct app home screens for Slack apps using AppHome surface and block composition.
- Prototype Slack app UIs quickly in Bolt for Python projects with method-chaining syntax.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are actively building Slack apps with Bolt for Python and want to avoid writing Block Kit JSON by hand.
The low install friction and permissive license make it a safe add. However, be aware that maintenance is aging—no updates since early 2024—so if Slack's Block Kit API evolves significantly or you encounter bugs, you may need to fork or switch to an actively maintained alternative.
Install
pyblock-builder on PyPI
Before you install
Low install friction with a single lightweight runtime dependency (typing-extensions). Maintenance is aging—last release was 2024-03-13 and the repository has not been updated since 2025-11-12, so expect no active bug fixes or feature development.
Requires Python 3.10 or later (3.10, 3.11, or 3.12 supported); designed for use with Slack's Bolt for Python SDK.
License in practice
BSD-3-Clause is permissive; you may use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install pyblock-builder
from pyblock_builder.surfaces import Message
from pyblock_builder.blocks import Section
msg = Message().add_block(Section(text="Hello, Slack!"))
print(msg.build())
Verify before relying
- Whether the aging maintenance status and lack of recent commits affect real-world compatibility with current Slack Block Kit API changes.
- How complete the coverage of Block Kit components is beyond the documented supported surfaces and blocks.
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.10,<4.0 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagetyping-extensions |
| Maintenance | Aging 884 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 79,437 / month, #14,359 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Topic :: Software Development :: DocumentationTopic :: Software Development :: Libraries :: Python Modules |
Evidence: pyblock_builder-0.2.10-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “slack block kit python”
- pyblock-builderPyBlock Builder provides Python classes and helper functions to…
- slackblocksBuilds Slack Block Kit messages programmatically in Python with type…
- blockkitBlockKit builds Slack UI blocks programmatically with a fluent Python…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also blockkit · slack-bolt · slackblocks · prefect-slack · slack-sdk · slacker · XBlock · slackclient · slackify-markdown · slackweb