Skip to main content

Shondesh

Shondesh Logo PyPI Version Python versions Coverage Status Snyk PyPI - Downloads Downloads License: MIT

"সন্দেশ" (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

  • Email
  • Telegram
  • Slack
  • Webhook

Contributing

Contributions are welcome! Please open issues or submit pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. 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)

Source distribution for shondesh 0.1.3
File Size Uploaded Provenance
shondesh-0.1.3.tar.gz 5.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for shondesh 0.1.3
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page