Overview


MeerkatIO is a personal notification and debugging tool for software developers and data scientists, helping you to reclaim time in your day and step away from your computer with confidence. MeerkatIO monitors your scripts and processes and triggers an alert as soon as they complete.

Some example use cases where MeerkatIO can benefit your workflow:

  1. Ping yourself when your terminal command completes
  2. Send your phone an SMS text message when your long running Jupyter Notebook cell completes
  3. Generate a system notification when your test suite completes while you have a different window open
  4. Slack yourself an update on your build pipeline while you are taking your dog for a walk so you know when to head back

Visual Studio Code


Available Visual Studio Code Integrations:

  1. Terminal command monitoring for Mac, Windows, and Linux! MeerkatIO keeps track of all running terminal processes inside of VS Code and alerts you when a process completes according to your workspace settings.
  2. Jupyter Extension support out of the box. Just run your cell(s) like normal and MeerkatIO will keep an eye out and alert you when your code completes.
  3. VS Code Run and Debug monitoring. Alert yourself after long-running processes complete from VS Code's built in Run and Debug Tool.
  4. VS Code Task monitoring. Monitor long running tasks defined in .vscode/launch.json without any extra configuration.

Installation

The MeerkatIO VS Code Extension can be found by searching for “MeerkatIO” in the extensions marketplace directly within the VS Code IDE or at this link.

Configuration

MeerkatIO uses the standard Visual Studio Code settings file located at .vscode/settings.json to configure notifications.

{
    "meerkat.triggerMinDurationSeconds": 300, //customize when notifications are triggered to fit your workflow
    "meerkat.meerkatNotification": "ping", //set your preferred notification channel
    "meerkat.enabled": true //quickly toggle notifications to cut down on noisy alerts
}

Accessing Pro Notification Channels

After creating an account at MeerkatIO, add your Account Token to your .vscode/settings.json file in your workspace and configure your preferred communication channel.

{
    "meerkat.token": "token",
    "meerkat.meerkatNotification": "teams"
}

Python SDK


Installation

pip3 install meerkatio

Configuration

This package provides a convenient way to get up and running. The register command will prompt you for a username and password to start your free account, and on success your environment will be set up for you so you can skip the Authentication Token Setup steps.

$ meerkat register

Authentication Token Setup

Using your username and password from MeerkatIO:

$ meerkat login

Or manually set the MeerkatIO token with one of the following examples:


# Option 1: Environmental Variable
$ export MEERKAT_TOKEN=token

# Option 2: Cache File
$ echo "token" > ~/.meerkat

Code Examples

import meerkat

# Ping when script gets to checkpoint
meerkat.ping()

# Send a confirmation a function has run
output = build_model()
meerkat.email(output)

# Send Slack message to document model performance
perf = get_model_performance(output)
meerkat.slack(perf)

# Send SMS message when the script is finished
meerkat.sms("Script completed!")

Jupyter Notebook Usage

import meerkat

# Ping when cell hits a debug checkpoint
%ping

# Send a confirmation that a cell has run
output = build_model()
%email output

# Send Slack message to document model performance
perf = get_model_performance(output)
%slack perf

# Send SMS message when the cell reaches the end
%sms "Cell completed!"

Integrations


Slack

You can install the MeerkatIO app from the Slack App Directory either during your MeerkatIO account registration process or from your MeerkatIO account dashboard in just a few clicks. Once your Slack credentials are synced with the MeerkatIO platform, you are ready to begin sending notifications using either the MeerkatIO Command Line Interface or the MeerkatIO Python SDK!