{"id":14065880,"url":"https://github.com/rexdivakar/Notifly","last_synced_at":"2025-07-29T21:33:55.743Z","repository":{"id":39896970,"uuid":"304792802","full_name":"rexdivakar/Notifly","owner":"rexdivakar","description":"Notifly is an AI Model tracking system designed to monitor the metrics and hardware resources during training the model in real-time alerts over various social networks like Telegram, discord, slack.","archived":false,"fork":false,"pushed_at":"2024-11-24T09:59:17.000Z","size":9253,"stargazers_count":36,"open_issues_count":9,"forks_count":12,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-11-29T08:46:17.210Z","etag":null,"topics":["notification-service","telegram-bot","telegram-client","telegram-notifications"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/notifly/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rexdivakar.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.txt","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-17T03:57:54.000Z","updated_at":"2024-08-19T05:10:50.000Z","dependencies_parsed_at":"2024-02-19T18:20:59.226Z","dependency_job_id":"03a61aa2-b194-4efb-b8cd-a20876dc5b7c","html_url":"https://github.com/rexdivakar/Notifly","commit_stats":null,"previous_names":["rexdivakar/telegram-notifly"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rexdivakar%2FNotifly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rexdivakar%2FNotifly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rexdivakar%2FNotifly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rexdivakar%2FNotifly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rexdivakar","download_url":"https://codeload.github.com/rexdivakar/Notifly/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228052626,"owners_count":17862105,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["notification-service","telegram-bot","telegram-client","telegram-notifications"],"created_at":"2024-08-13T07:04:47.857Z","updated_at":"2024-12-04T05:31:05.427Z","avatar_url":"https://github.com/rexdivakar.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Notifly  \n### [Code Usage](https://rexdivakar.github.io/Notifly/)\n![PyPI](https://img.shields.io/pypi/v/notifly?logo=github\u0026style=for-the-badge)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/notifly?color=green\u0026style=for-the-badge\u0026logo=github)\n![Discord](https://img.shields.io/discord/760088481224851476?label=DISCORD\u0026logo=discord\u0026logoColor=green\u0026style=for-the-badge)\n\n\n\u003cp align=\"center\"\u003e\t\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/rexdivakar/Notifly/main/.others/bot.png\" width=\"200\" alt=\"Logo\"\u003e\n\n## Table of Contents\n* [About the package](#about-the-package)\n  * [Built With](#built-with)\n* [Prerequisites for install](#prerequisites)\n* [Install the package](#install-the-package)\n* [Working of the tool](#working-of-the-tool)\n    * [Telegram](#telegram)\n    * [Discord](#discord)\n    * [Slack](#slack)\n* [Contributing](#contributing)\n\n## About the package\nSimple Bots to push notifications during an event trigger. \u003cbr\u003e\n\n[![\"Telegram\"](https://img.shields.io/badge/%20Telegram-%20.svg?longCache=true\u0026logo=telegram\u0026colorB=blue)](https://telegram.org/) \nwrapper to send messages, images, files over the bot using API. \u003cbr\u003e\n[![\"Discord\"](https://img.shields.io/badge/%20Discord-%20.svg?longCache=true\u0026logo=discord\u0026colorB=lightblue)](https://discord.com/) \nwrapper to send message, images, files to the channel using Webhooks. \u003cbr\u003e\n[![\"Slack\"](https://img.shields.io/badge/%20slack-gray.svg?longCache=true\u0026logo=slack\u0026colorB=brightgreen)](https://slack.com) \nwrapper to send message, images, files to the channel using API.\n\n### Built With\n* [Python 3][1]\n\n## Prerequisites\n* Python\u003cbr\u003e\nIt is preinstalled in Ubuntu 20.04. To check the version use command :\n```\npython3 --version\n```\nIf it is not preinstalled for some reason, proceed [here][4] and download as per requirement.\n\nRun the following command in terminal to download the required packags for running the tool locally : \n* Using requirements file :\n```\npip3 install -r requirements.txt\n```\n* Directly download packages:\n```\npip3 install requests==2.24.0\npip3 install matplotlib==3.2.2\npip3 install slackclient==2.9.3\n```\n\n## Install the package\nRun the following terminal commands to install the package on the given distros.\n* Termux :\n```\npkg install python3 \n```\n```\npip3 install notifly\n```\n* Ubuntu/Debian\n```\nsudo apt install python3-pip\n```\n```\npip3 install notifly\n```\n* Arch\n```\nsudo pacman -S python3-pip\n```\n```\npip3 install notifly\n```\n***This may take a while depending on the network speed.***\n\n## Working of the tool\n### Telegram\nTo see how the tool works,\n1. Create the [telegram bot][2].\n2. Getting the bot API token\n   1. Search and go to ```_@Botfather_``` .\n   1. Message ```/mybots``` .\n   1. Select the bot.\n   1. Select the _API token_ displayed in message.\n   1. Copy and use in sample code.\n   ```python\n   from notifly import telegram        #import the package    \n   x = telegram.Notifier('bot API token')        #create object of class Notifier\n   x.send_message('message')       #send message\n   x.send_image(\"image address\")        #send image(.jpg or .png format)\n   x.send_file(\"file address\")     #send document\n   x.session_dump()        #creates folder named 'downloads' in local folder, downloads/saves message,chat details for current session in 'sessio_dump.json' file\n    ```\n3. Run sample code.\n### Discord\nTo see how the tool works,\n1. Create server.\n2. Create and copy server [webhook][5] and use in sample code.\n   ```python\n   from notifly import discord\n   x = discord.Notifier(r'webhook')       #create object of class Notifier\n   x.send_message('message')      #send message\n   x.send_file(\"file address\")        #send file\n   x.send_file(\"image address\")       #send image\n   ```\n3. Run sample code.\n### Slack\nTo see how the tool works,\n1. Create app. Follow these steps,\n    1. Go [here][6].\n    2. Go to ```Create an App``` .\n    3. Enter _App Name_ and select workspace. Click ```Create App```.\n    4. Under **Add features and functionality** select ```Incoming Webhooks``` and **Activate Incoming Webhooks**.\n    5. Scroll down, select ```Add New Webhook to Workspace``` and select a channel from the drop down.This channel name is used as an argument in the sample code. Click ```Allow```.\n    6. Select **OAuth \u0026 Permissions** from left-sidebar.\n    7. Under **Scopes** \u003e **Bot Token Scopes**  click ```Add an OAuth Scope``` and add the following scopes,\n       \u003cbr\u003e```chat:write``` \u0026nbsp; ```chat:write.public``` \u0026nbsp; ```files:write``` \u0026nbsp; ```users:write```\n    8. Scroll up, under **OAuth Tokens for Your Team** copy the *Bot User OAuth Access Token* to use in sample code.\n    9. Click ```Reinstall to Workspace```, select channel and click ```Allow```.\n2. Write sample code.\n   ```python\n   from notifly import slack\n   x= slack.Notifier('token', channel='channel-name')      #create object of class Notiflier\n   x.send_message('message')      #send message\n   x.send_file(\"image or file address\")      #send image/file\n   ```\n3. Run sample code.\n\n### Tensorflow Integration\nPlug and play feature for your tensorflow callbacks\n```python\n# create your notifier using above methods\nfrom notifly import discord\nnotifier = discord.Notifier(r'webhook') \nclass MyNotifierCallback:\n\n    @notifier.notify_on_epoch_begin(epoch_interval=1, graph_interval=1, hardware_stats_interval=1)\n    def on_epoch_begin(self, epoch, logs=None):\n        pass\n\n    @notifier.notify_on_epoch_end(epoch_interval=1, graph_interval=1, hardware_stats_interval=1)\n    def on_epoch_end(self, epoch, logs=None):\n        pass\n\n    @notifier.notify_on_train_begin()\n    def on_train_begin(self, logs=None):\n        pass\n\n    @notifier.notify_on_train_end()\n    def on_train_end(self, logs=None):\n        pass\n\nmodel.fit(callbacks=[MyNotifierCallback()])\n```\n## Learn more about Notifly ✨\nRead the [wiki pages](https://github.com/rexdivakar/Notifly/wiki) which has all the above steps in great detail with some examples as well 🤩🎉.\n\n## Contributing\n1. Fork the Project\n1. Create your Feature Branch \n   \u003egit checkout -b feature/mybranch\n1. Commit your Changes \n    \u003egit commit -m 'Add something'\n1. Push to the Branch\n    \u003egit push origin feature/mybranch\n1. Open a Pull Request\u003cbr\u003e\u003cbr\u003e\nFollow the given commands or use the amazing ***GitHub GUI***\u003cbr\u003e\n**Happy Contributing**\n\n[contributors-shield]: https://img.shields.io/github/contributors/rexdivakar/Telegram-Notifly.svg?style=flat-square\n[contributors-url]: https://github.com/rexdivakar/Telegram-Notifly/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/rexdivakar/Telegram-Notifly.svg?style=flat-square\n[forks-url]: https://github.com/rexdivakar/Telegram-Notifly/network/members\n[stars-shield]: https://img.shields.io/github/stars/rexdivakar/Telegram-Notifly.svg?style=flat-square\n[stars-url]: https://github.com/rexdivakar/Telegram-Notifly/stargazers\n[issues-shield]: https://img.shields.io/github/issues/rexdivakar/Telegram-Notifly.svg?style=flat-square\n[issues-url]: https://github.com/rexdivakar/Telegram-Notifly/issues\n[license-shield]: https://img.shields.io/github/license/rexdivakar/Telegram-Notifly.svg?style=flat-square\n[license-url]: https://github.com/rexdivakar/Telegram-Notifly/blob/master/LICENSE.txt\n[1]:https://www.python.org/\n[2]:https://telegram.org/blog/bot-revolution\n[4]:https://www.python.org/downloads/\n[5]:https://discordjs.guide/popular-topics/webhooks.html#fetching-all-webhooks-of-a-guild\n[6]:https://api.slack.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frexdivakar%2FNotifly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frexdivakar%2FNotifly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frexdivakar%2FNotifly/lists"}