Shondesh
"সন্দেশ" (pronounced shôndesh) in Bengali means news, message, or a type of sweet.
Shondesh is a Python package that provides a unified API for sending notifications across multiple channels.
It supports Email, Telegram, Slack, and Webhook channels, allowing you to easily send messages without worrying about the underlying implementation details.
Features
- Unified API for sending notifications
- Pluggable channel support (Email, Telegram, Slack, Webhook)
- Easy configuration and extension
Installation
pip install shondesh
or with Poetry:
poetry add shondesh
Usage
# Slack Example
from shondesh.channels.channel_factory import ChannelFactory
slack_channel = ChannelFactory.create_channel(
"slack",
webhook_url="https://hooks.slack.com/services/your/slack/webhook",
channel="#general"
)
slack_channel.send("Hello from Shondesh!", username="Notifier")
# Telegram Example
telegram_channel = ChannelFactory.create_channel(
"telegram",
webhook_url="https://api.telegram.org/bot<token>/sendMessage",
chat_id="123456789"
)
telegram_channel.send("Hello Telegram user!")
# Webhook Example
webhook_channel = ChannelFactory.create_channel(
"webhook",
url="https://example.com/webhook",
method="POST",
headers={"Authorization": "Bearer yourtoken"}
)
webhook_channel.send({"event": "deploy", "status": "success"})
# Email Example
email_channel = ChannelFactory.create_channel(
"email",
smtp_server="smtp.example.com",
smtp_port=587,
username="your@email.com",
password="yourpassword"
)
email_channel.send(
"Hello Email user!",
to="recipient@example.com",
subject="Notification from Shondesh"
)
Configuration
Configuration can be provided via environment variables or directly as arguments to channel constructors.
Supported Channels
- Telegram
- Slack
- Webhook
Contributing
Contributions are welcome! Please open issues or submit pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/fooBar) - Commit your changes (
git commit -am 'Add some fooBar') - Push to the branch (
git push origin feature/fooBar) - Create a new Pull Request
License
This project is licensed under the MIT License.
Contact
For questions or support, open an issue on GitHub.
Metadata
Release files for shondesh 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| shondesh-0.1.3.tar.gz | 5.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| shondesh-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.3 kB
Release files / shondesh-0.1.3.tar.gz
| Download URL | shondesh-0.1.3.tar.gz |
|---|---|
| Size | 5.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3dc305f58bad5ec7e58fe800a50a87c893e14f6cb3920c74286e54c5457c94e0
|
|
BLAKE2b-256 checksum How to use checksums |
434d52e9e10699e5f5c475b6db33393c68b098f12d970eb5ac1885eb7ba6faa9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.3 CPython/3.13.2 Darwin/24.3.0
|
Release files / shondesh-0.1.3-py3-none-any.whl
| Download URL | shondesh-0.1.3-py3-none-any.whl |
|---|---|
| Size | 10.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
44100035f87da46be2386e5142d57a9bf569d23d17667086c4e4d1ca31ff392e
|
|
BLAKE2b-256 checksum How to use checksums |
52abe58391dc163e39ced878165adc0dcda39c2fda8d709598f84ca48cd3dad4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.3 CPython/3.13.2 Darwin/24.3.0
|
Security for shondesh 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.