Skip to main content

No project description provided

Project description

JupNotiPy

Simple class for Python Telegram bot notifications, ideal for Jupyter notebooks and long-running scripts.

Features

  1. Easy setup: Quickly initialize your Telegram bot and get your chat_id.
  2. Customizable notifications: Send messages with custom text.
  3. Credential management: Cache and manage your bot credentials seamlessly.
  4. CLI support
  5. Python decorators support

How this works

JupNotiPy uses your Telegram bot to send you messages. The process involves two main steps:

  1. Initialization: Required for obtaining a chat_id. After first initialization you don't need login again because all data will be cached in file.
  2. Sending: Used for sending notifications through the given bot.

Installation

Install JupNotiPy using pip:

pip install jupnotipy

CLI Usage

Step 1: Initialize and Obtain chat_id

To initialize JupNotiPy and obtain your chat_id, use the following command:

jupnotipy init --bot_token "YOUR_BOT_TOKEN"

This will create a credentials file for future use.

Step 2: Send a Message

To send a message using the CLI:

jupnotipy send

Or, to send a custom message:

jupnotipy send --text "MY FANCY MESSAGE"

Python API

Step 1: Login and Initialize

To log in and initialize JupNotiPy within your Python script:

import jupnotipy

jupnotipy.login(bot_token="YOUR_BOT_TOKEN")

Step 2: Send Notifications

Use cached credentials to send a notification:

jupnotipy.notify()

Override cached credentials and send a notification:

jupnotipy.notify(bot_token="YOUR_BOT_TOKEN", chat_id=0)

Send a custom message:

jupnotipy.notify(message="MY_FANCY_MESSAGE")

Update cached credentials:

jupnotipy.notify(bot_token="YOUR_BOT_TOKEN", chat_id=0, update_credentials=True)

Example Code

Here's a sample Python script using JupNotiPy:

import jupnotipy

jupnotipy.login(bot_token="YOUR_BOT_TOKEN")

# use cached credentials
jupnotipy.notify()

# override the cached credentials
jupnotipy.notify(bot_token="YOUR_BOT_TOKEN", chat_id=0)

# define custom message
jupnotipy.notify(message="MY_FANCY_MESSAGE")

# update cached credentials
jupnotipy.notify(bot_token="YOUR_BOT_TOKEN", chat_id=0, update_credentials=True)

# use decorator function
@jupnotipy.notify_on_end()
def my_func():
    for i in range(100):
        # do something
        ...

# When the function execution is complete, you will be notified.
my_func()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupnotipy-0.1.7.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jupnotipy-0.1.7-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file jupnotipy-0.1.7.tar.gz.

File metadata

  • Download URL: jupnotipy-0.1.7.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.0 CPython/3.12.3 Darwin/23.5.0

File hashes

Hashes for jupnotipy-0.1.7.tar.gz
Algorithm Hash digest
SHA256 1d15add36a95a89a2a763772aa9986a2575750fdf3cf4972863a2217b3fe20f0
MD5 be38be16a44f68d1e66877ff0938264c
BLAKE2b-256 60573c2583692f6b0fce2b80941235ae8cc8f149c9c92cf6aa87fefd2a6d0481

See more details on using hashes here.

File details

Details for the file jupnotipy-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: jupnotipy-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.0 CPython/3.12.3 Darwin/23.5.0

File hashes

Hashes for jupnotipy-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 d3eb66c4bcc490753ca1038829d33e449dbe4487ef24d736468c016da9e33893
MD5 8e57c4adb8c8ca68565dc072d5e012b5
BLAKE2b-256 ca636c341ac0bb3bb0fcbc68d4b462e49c91778979dae4a65303006e81269881

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page