{"id":17736194,"url":"https://github.com/karthikudyawar/notify","last_synced_at":"2026-01-23T12:21:37.770Z","repository":{"id":258767127,"uuid":"875470034","full_name":"KarthikUdyawar/notify","owner":"KarthikUdyawar","description":"A simple Bash script that runs a command with a logs the output, tracks execution time, and sends optional WhatsApp and desktop notifications upon completion or failure.","archived":false,"fork":false,"pushed_at":"2024-10-21T09:54:48.000Z","size":67,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-21T21:33:24.993Z","etag":null,"topics":["automation","bash","desktop-notifications","logging","notifications","notify","open-source","python","scripting","ubuntu","whatsapp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KarthikUdyawar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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":"2024-10-20T04:11:28.000Z","updated_at":"2024-10-21T09:42:29.000Z","dependencies_parsed_at":"2024-10-26T04:11:19.559Z","dependency_job_id":"c9781ddf-0ce2-48c4-9d68-dfb7f00c6236","html_url":"https://github.com/KarthikUdyawar/notify","commit_stats":null,"previous_names":["karthikudyawar/notify"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarthikUdyawar%2Fnotify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarthikUdyawar%2Fnotify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarthikUdyawar%2Fnotify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarthikUdyawar%2Fnotify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KarthikUdyawar","download_url":"https://codeload.github.com/KarthikUdyawar/notify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252863006,"owners_count":21815952,"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":["automation","bash","desktop-notifications","logging","notifications","notify","open-source","python","scripting","ubuntu","whatsapp"],"created_at":"2024-10-26T00:04:52.174Z","updated_at":"2026-01-23T12:21:37.726Z","avatar_url":"https://github.com/KarthikUdyawar.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Notify\n\n![Logo](image/logo.jpg)\n\n![Ubuntu version](https://img.shields.io/badge/Ubuntu%20version-22.04%20LTS-orange?style=flat-square) \n[![Python Version](https://img.shields.io/pypi/pyversions/pywhatkit.svg?style=flat-square)](https://pypi.org/project/pywhatkit/)\n[![License](https://img.shields.io/badge/license-Apache%202.0-brightgreen.svg?style=flat-square)](https://github.com/KarthikUdyawar/notify/blob/master/LICENSE)\n[![GitHub stars](https://img.shields.io/github/stars/KarthikUdyawar/notify?style=flat-square)](https://github.com/KarthikUdyawar/notify/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/KarthikUdyawar/notify?style=flat-square)](https://github.com/KarthikUdyawar/notify/network/members)\n[![GitHub issues](https://img.shields.io/github/issues/KarthikUdyawar/notify?style=flat-square)](https://github.com/KarthikUdyawar/notify/issues)\n\n\nA simple Bash script that runs a command with a logs the output, tracks execution time, and sends optional WhatsApp and desktop notifications upon completion or failure.\n\n## Table of Contents\n\n- [Notify](#notify)\n- [Description](#description)\n- [Problem Solved](#problem-solved)\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Contributing](#contributing)\n- [License](#license)\n- [Acknowledgments](#acknowledgments)\n- [Contact Information](#contact-information)\n\n## Description\nThe WhatsApp Notification Script is a Bash-based utility that allows users to execute any command in the terminal while providing real-time notifications via WhatsApp upon completion. It notifies users whether the script executed successfully or failed, and it logs the output of the command to a file. Additionally, it features a loading spinner to enhance the user experience during execution.\n\n\n## Problem Solved\nThis project solves the problem of monitoring long-running scripts by providing instant feedback through WhatsApp notifications. Users can run their scripts without needing to constantly check the terminal, allowing for more efficient workflow management.\n\n[Back to Top](#notify)\n\n## Prerequisites\nBefore running this project, make sure the following dependencies and software are installed on your system:\n\n- **Operating System:** This project is designed to run on Linux-based operating systems (e.g., Ubuntu, Debian). While it may work on other UNIX-like systems, it has not been tested on macOS or Windows.\n\n- **Python 3.x**: You need Python 3 installed on your machine. You can install it using your system's package manager:\n\n    ```bash\n    sudo apt-get install python3\n    ```\n\n- **libnotify-bin:** This is required for desktop notifications.\n\n    ```bash\n    sudo apt-get install libnotify-bin\n    ```\n- **Python Development Libraries:** Required to install Python packages properly.\n\n    ```bash\n    sudo apt-get install python3-dev\n    ```\n- **python3-tk:** Required for certain Python packages that rely on graphical libraries.\n\n    ```bash\n    sudo apt-get install python3-tk\n    ```\n\n- **Virtual environment:** Make sure you have Python's virtual environment installed:\n\n    ```bash\n    sudo apt-get install python3-venv\n    ```\n\nOnce you have these prerequisites installed, you can proceed with the installation steps outlined below.\n\n[Back to Top](#notify)\n\n## Installation\n\n1. **Clone the repository:**\n\n    ```bash\n    git clone https://github.com/KarthikUdyawar/notify.git\n    cd notify\n    ```\n\n2. **Set up a Python virtual environment:**\n\n    ```bash\n    python3 -m venv env\n    source env/bin/activate\n    ```\n\n3. **Install required dependencies:** Use the `setup.py` file to install the necessary Python dependencies:\n\n    ```bash\n    python3 setup.py install\n    ```\n\n4. **Create a .env file:** Copy the `.env/template` to a new `.env` file and update the placeholders:\n\n    ```bash\n    cp .env.template .env\n    ```\n\n    Edit the `.env` file to include your virtual environment path and WhatsApp phone number:\n\n    ```\n    # Absolute path to the directory containing the python activate script\n    VENV_PATH=/home/\u003cyour-path\u003e/notify/env/bin/activate\n\n    # WhatsApp phone number to send notifications to \n    WHATSAPP_PHONE_NUMBER=+\u003ccountry-code\u003e\u003cphone-number\u003e\n    ```\n\n5. **Make the script executable:** Run the following command to make the script executable:\n\n    ```bash\n    chmod +x run_notify.sh\n    ```\n\n6. **Create an alias for easier command execution:** \n    To simplify running the script, you can create an alias in your shell configuration file (e.g., `.bashrc` or `.zshrc`):\n\n   - Open your shell configuration file in a text editor. For example, if you are using bash:\n     ```bash\n     nano ~/.bashrc\n     ```\n     Or if you are using zsh:\n     ```bash\n     nano ~/.zshrc\n     ```\n\n   - Add the following line at the end of the file:\n     ```bash\n     alias notify='/home/\u003cyour-path\u003e/notify/run_notify.sh'\n     ```\n\n   - Save and close the file. If you are using `nano`, you can do this by pressing `CTRL + X`, then `Y` to confirm changes, and `ENTER` to exit.\n\n   - After adding the alias, run the following command to apply the changes:\n     ```bash\n     source ~/.bashrc\n     ```\n     Or for zsh:\n     ```bash\n     source ~/.zshrc\n     ```\n[Back to Top](#notify)\n\n## Usage\n\nTo run a command and receive notifications, use the following syntax:\n\n```bash\nnotify [--notify-whatsapp] \u003ccommand-to-run\u003e\n```\n\n### Example\n\n```bash\nnotify --notify-whatsapp python3 example/mock_huge_task.py\n```\n\n- `--notify-whatsapp`: Optional flag to enable WhatsApp notifications.\n- `\u003ccommand-to-run\u003e`: The command you want to execute.\n\n[Back to Top](#notify)\n\n## Contributing\n\nContributions are welcome! To contribute to this project:\n\n1. Fork the repository.\n2. Create a new branch (`git checkout -b feature/YourFeature`).\n3. Make your changes.\n4. Commit your changes (`git commit -m 'Add some feature'`).\n5. Push to the branch (`git push origin feature/YourFeature`).\n6. Open a pull request.\n\nPlease ensure that your code adheres to the project's coding style and that you have tested your changes.\n\n## License\nThis project is licensed under the Apache License. See the [LICENSE](https://github.com/KarthikUdyawar/notify/blob/master/LICENSE) file for details.\n\n## Acknowledgments\n- **Inspiration:** Special thanks to all open-source contributors and communities that inspire and support developers around the world.\n- **Libraries and Tools:** This project uses several libraries and tools that enhance its functionality, including:\n  - [pywhatkit](https://github.com/Ankit404butfound/pywhatkit) for sending WhatsApp messages.\n  - [libnotify](https://gitlab.gnome.org/GNOME/libnotify) for desktop notifications.\n- **Community:** Thanks to the programming and developer community for their invaluable resources, tutorials, and documentation that helped make this project possible.\n\n## Contact Information\nFor support or questions, please reach out to:\n\n- GitHub Profile: [KarthikUdyawar](https://github.com/KarthikUdyawar)\n\n[Back to Top](#notify)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarthikudyawar%2Fnotify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarthikudyawar%2Fnotify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarthikudyawar%2Fnotify/lists"}