slackker logo slackker

Real-time notifications for any Python pipeline

Run anything.
Know instantly. Stay anywhere.

slackker sends real-time notifications to Slack, Telegram, Discord, or Microsoft Teams for any Python pipeline, ML training run, or automation workflow — complete with metrics, outputs, and optional plots.

main.py
Client:
from slackker.core import TelegramClient
from slackker.callbacks.simple import SimpleCallback

client = TelegramClient(token="123456:ABC-DEF...")
slackker = SimpleCallback(client)

@slackker.notifier
def train_model():
    return "done"

slackker.notify(event="training_complete", status="completed")

Why slackker

Stay informed without staying glued to your screen

Any Python Function

Decorator-based notifications for script execution with returned output summaries.

Keras Callback

Attach to model.fit and receive metric progress during epoch training.

Lightning Callback

Track train and validation logs with monitor-based best epoch updates.

Plot Sharing

Export and send history plots so you can check model behavior quickly on mobile.

Quick start

From install to updates in five steps

  1. 1Install package: pip install slackker
  2. 2Setup either Slack, Telegram, or Teams credentials.
  3. 3Create a SlackClient, TelegramClient, or TeamsClient with your credentials.
  4. 4Pass the client to SimpleCallback, KerasCallback, or LightningCallback.
  5. 5Run training and receive updates plus optional exported plots.

Client setup

Get your credentials in minutes

Pick your platform and follow the one-time steps to obtain the credentials you'll pass to the client constructor.

Telegram

Only a bot token is needed — slackker auto-discovers your chat ID from the first message you send the bot.

  1. 1
    Find BotFather on Telegram

    Open Telegram   ➤   search for @BotFather — the official bot for creating custom bots.

  2. 2
    Create your bot

    Send /newbot   ➤   follow the prompts to give your bot a display name and a unique username (must end in bot)

  3. 3
    Copy the bot token

    BotFather replies with a token   ➤   save it, this is your token parameter:

    1234567890:AAAA_A111BBBBBCCC2DD3eEe44f5GGGgGG
  4. 4
    Send your bot a message

    Open the bot's chat in Telegram   ➤   send any message (e.g. "Hello!")   ➤   This lets slackker auto-discover your chat ID on first connect(), no manual lookup needed.

  5. 5
    Use the token in your code TelegramClient(token="1234567890:AAAA_A111...")

Detailed callback usage

Drop-in examples for real projects

pipeline.py
Client:
from slackker.core import TelegramClient
from slackker.callbacks.simple import SimpleCallback

client = TelegramClient(
    token="123456:ABC-DEF...",
    verbose=1
)
notify = SimpleCallback(client)

@notify.notifier
def run_data_pipeline(source_path: str):
    rows_processed = 12500
    status = "success"
    return rows_processed, status

if __name__ == "__main__":
    rows, status = run_data_pipeline("./data/train.csv")
    notify.notify(
        event="pipeline_finished",
        rows_processed=rows,
        status=status,
        attachment="./artifacts/summary.txt"
    )

Under the hood

Three lines to stay in the loop

🔌
01

Connect

Create a SlackClient, TelegramClient, or TeamsClient with your credentials. slackker verifies connectivity and is ready to post updates.

🎯
02

Attach

Pass the client to SimpleCallback, KerasCallback, or LightningCallback. Wrap your function with @notifier or drop the callback into your trainer.

📲
03

Receive

Get real-time updates — execution time, returned outputs, epoch metrics, best model stats, and optional training plots — delivered straight to your phone.

Your pipeline runs. Your phone notifies

Stop babysitting terminal. Slackker keeps you informed so you can stay heads-down on what actually matters.