Any Python Function
Decorator-based notifications for script execution with returned output summaries.
slackker
Real-time notifications for any Python pipeline
slackker sends real-time notifications to Slack or Telegram for any Python script, data pipeline, ML training run, or automation workflow — complete with metrics, outputs, and optional plots.
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
Decorator-based notifications for script execution with returned output summaries.
Attach to model.fit and receive metric progress during epoch training.
Track train and validation logs with monitor-based best epoch updates.
Export and send history plots so you can check model behavior quickly on mobile.
Quick start
pip install slackkerSlackClient or TelegramClient with your credentials.SimpleCallback, KerasCallback, or LightningCallback.Detailed callback usage
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"
)
from slackker.core import TelegramClient
from slackker.callbacks.keras import KerasCallback
client = TelegramClient(
token="123456:ABC-DEF...",
verbose=1
)
slackker_cb = KerasCallback(
client=client,
model_name="ImageClassifierV1",
export="png",
send_plot=True,
)
history = model.fit(
x_train,
y_train,
epochs=20,
batch_size=32,
validation_data=(x_val, y_val),
callbacks=[slackker_cb]
)
from lightning.pytorch import Trainer
from slackker.core import TelegramClient
from slackker.callbacks.lightning import LightningCallback
client = TelegramClient(
token="123456:ABC-DEF...",
verbose=1
)
slackker_cb = LightningCallback(
client=client,
model_name="LightningClassifier",
track_logs=["train_loss", "train_acc", "val_loss", "val_acc"],
monitor="val_loss",
export="png",
send_plot=True,
)
trainer = Trainer(max_epochs=12, callbacks=[slackker_cb])
trainer.fit(model, train_loader, val_loader)
Under the hood
Create a SlackClient or TelegramClient with your API token. slackker verifies connectivity and resolves your channel or chat ID automatically.
Pass the client to SimpleCallback, KerasCallback, or LightningCallback. Wrap your function with @notifier or drop the callback into your trainer.
Get real-time updates — execution time, returned outputs, epoch metrics, best model stats, and optional training plots — delivered straight to your phone.
Get started in 60 seconds
Stop babysitting terminal. Slackker keeps you informed so you can stay heads-down on what actually matters.