✨ Slackle up your Slack!
Slackle is a lightweight and magical framework for building Slack apps effortlessly.
🚀 Features
- ⚡️ Slash command routing — Handle
/your-command,/like,/magic - 💬 Event handling —
@app_mention,message,reaction_added, etc. - 🎨 Slack formatting — Clean markdown and block formatting made easy
- 🧩 Plugin system — Extend functionality with decorators and custom plugins
- ⚙️ FastAPI + Slack SDK — Built on proven tools, superfast and flexible
📦 Installation
pip install slackle
🧑💻 Getting Started
import os
from slackle import Slackle, SlackleConfig
from slackle.utils.slack import get_user_mention
# Set up slackle configuration
config = SlackleConfig(
app_token=os.getenv("APP_TOKEN"),
verification_token=os.getenv("VERIFICATION_TOKEN")
)
# Initialize slackle app
app = Slackle(config=config)
# Add handler for message events
@app.on_event("message")
async def say_hello(slack, user_id, channel_id):
mention = get_user_mention(user_id)
print("User ID:", user_id)
await slack.send_message(
channel=channel_id,
message=f"Hello {mention}!",
)
# Add handler for /say slash command
@app.on_command("/say")
async def say_something(slack, text, user_id, channel_id):
name = await slack.get_user_name(user_id)
await slack.send_message(
channel=channel_id,
message=f"{name} said: {text}",
)
📁 See examples/ for more code samples.
🤝 Contribution
We welcome contributions! Check out the Contributing Guide to get started.
🪪 License
MIT License. See the LICENSE file for details.
Metadata
Release files for slackle 0.2.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| slackle-0.2.7.tar.gz | 17.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| slackle-0.2.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.7 kB
Release files / slackle-0.2.7.tar.gz
| Download URL | slackle-0.2.7.tar.gz |
|---|---|
| Size | 17.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e13fcee43c71e51c30108c791d246f13a0bdd2408c180d40940b70a87785fa0
|
|
BLAKE2b-256 checksum How to use checksums |
739d526d661f3d66ea1cea8a1bdc20c18f5f3985963093a4ef71b147bb50fa8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / slackle-0.2.7-py3-none-any.whl
| Download URL | slackle-0.2.7-py3-none-any.whl |
|---|---|
| Size | 22.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d4adc322fcb999da86021339ca1357081b7c53839e6f35704d15516d5f5875a1
|
|
BLAKE2b-256 checksum How to use checksums |
27e3d47b98e0d22b335a47583a1dcb889e4db4bd64a909b0a82dd96c41256124
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|