No project description provided
Project description
telediff
Telediff is a CLI tool to send notifications when a file (or the output of your script) changes, with diff tracking and many notification channels (including Slack, WhatsApp, Telegram, Google Chat, Microsoft Teams, Pushover and 100+ others)
Installation
With pipx
pipx install telediff
With uv
uv tool install telediff
Configuration
Run telediff create-config to create the default config and print its path.
Default config looks like this:
[channels]
# Format: user_friendly_channel_name = apprise_url
#
# The value is an Apprise URL (see https://github.com/caronc/apprise/wiki for all supported services).
#
# You do not need to pay for Apprise, and your messages do not go through them; it's just a library providing abstraction.
#
# Examples:
#
# telegramexample = "tgram://bottoken/ChatID"
# slackexample = "slack://TokenA/TokenB/TokenC/"
# msteamsexample = "msteams://TokenA/TokenB/TokenC/"
# pushoverexample = "pover://user@token"
You can use telediff test -c yourchannel to send a test notification.
Usage
telediff --help
usage: telediff [-h] {test,clear-cache,notify,create-config} ...
Send notifications if a file/stream changes (with diff tracking in ~/.cache).
positional arguments:
{test,clear-cache,notify,create-config}
Subcommands
test Send a test notification for a channel
clear-cache Remove all cached state
notify Send notification if file/stream changes
create-config Create the default config file and output its location
options:
-h, --help show this help message and exit
telediff notify
telediff notify --help
usage: telediff notify [-h] --channel CHANNEL [--title TITLE] [--body BODY] [--body-prepend BODY_PREPEND] [--body-append BODY_APPEND]
[--title-prepend TITLE_PREPEND] [--title-append TITLE_APPEND] --file FILE [--max-length MAX_LENGTH] [--no-path-in-body]
[--no-color]
options:
-h, --help show this help message and exit
--channel, -c CHANNEL
Channel to send notification to
--title, -t TITLE Title for notification (default: 'telediff update')
--body, -b BODY Body for notification (default: file contents or diff)
--body-prepend BODY_PREPEND
Text to prepend to the notification body (default: empty)
--body-append BODY_APPEND
Text to append to the notification body (default: empty)
--title-prepend TITLE_PREPEND
Text to prepend to the notification title (default: empty)
--title-append TITLE_APPEND
Text to append to the notification title (default: empty)
--file, -f FILE Path to the file to monitor for changes. If the file does not exist, contents of STDIN are taken and written to this
path. If STDIN is provided, it always replaces the file contents. Notification is sent if the file (or STDIN) changes
compared to the cached copy.
--max-length MAX_LENGTH
Max message length (default: 1600, 0=unlimited)
--no-path-in-body Do not include the file path in the notification body
--no-color Disable colored and emoji output for this notification
telediff test
telediff test --help
usage: telediff test [-h] --channel CHANNEL [--title TITLE]
options:
-h, --help show this help message and exit
--channel, -c CHANNEL
Channel to test
--title, -t TITLE Title for test notification (default: 'telediff test')
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file telediff-1.0.tar.gz.
File metadata
- Download URL: telediff-1.0.tar.gz
- Upload date:
- Size: 148.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fcce2cd70562a6d1d4218a5187839801bfa7235eadb73e881164abfc3e10c19
|
|
| MD5 |
b117c337c0a743a4ecab86ac5447db1f
|
|
| BLAKE2b-256 |
c9c60dd1c797686b95d44fd68f50ae8a48c4391c468f56914aa58c8834bc2ab6
|
Provenance
The following attestation bundles were made for telediff-1.0.tar.gz:
Publisher:
trunk.yml on hacktegic/telediff
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
telediff-1.0.tar.gz -
Subject digest:
6fcce2cd70562a6d1d4218a5187839801bfa7235eadb73e881164abfc3e10c19 - Sigstore transparency entry: 255761972
- Sigstore integration time:
-
Permalink:
hacktegic/telediff@f1baef3084efe4d689de6a8f40f65c9a06e41420 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/hacktegic
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
trunk.yml@f1baef3084efe4d689de6a8f40f65c9a06e41420 -
Trigger Event:
push
-
Statement type:
File details
Details for the file telediff-1.0-py3-none-any.whl.
File metadata
- Download URL: telediff-1.0-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43155de0a090167041ff105a88b3847b62b78bced34867f312482af62dd9723f
|
|
| MD5 |
c703a4bdd23d15ab156ca456f9c1837b
|
|
| BLAKE2b-256 |
b43ac0dcde1815a36026e260b75e2657d0452660499bc9d9b9a14f1d6a69d6fd
|
Provenance
The following attestation bundles were made for telediff-1.0-py3-none-any.whl:
Publisher:
trunk.yml on hacktegic/telediff
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
telediff-1.0-py3-none-any.whl -
Subject digest:
43155de0a090167041ff105a88b3847b62b78bced34867f312482af62dd9723f - Sigstore transparency entry: 255761974
- Sigstore integration time:
-
Permalink:
hacktegic/telediff@f1baef3084efe4d689de6a8f40f65c9a06e41420 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/hacktegic
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
trunk.yml@f1baef3084efe4d689de6a8f40f65c9a06e41420 -
Trigger Event:
push
-
Statement type: