{"id":26707245,"url":"https://github.com/machinelearningprodigy/whastapp-chat-analyzer","last_synced_at":"2025-04-13T15:34:59.340Z","repository":{"id":252853602,"uuid":"841671796","full_name":"machinelearningprodigy/WhastApp-Chat-Analyzer","owner":"machinelearningprodigy","description":"WhatsApp Chat Analyzer is a powerful tool that helps you analyze your WhatsApp chat history with detailed statistics and visualizations. From message trends to most active users, this tool provides deep insights into your conversations! 🚀","archived":false,"fork":false,"pushed_at":"2025-02-13T17:07:31.000Z","size":61,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T06:32:21.224Z","etag":null,"topics":["matplotlib","plotly","scikit-learn","seaborn","streamlit","wordcloud"],"latest_commit_sha":null,"homepage":"https://whatsapp-chat-analyzer-24.streamlit.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/machinelearningprodigy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-08-12T21:26:09.000Z","updated_at":"2025-02-27T19:15:50.000Z","dependencies_parsed_at":"2024-08-24T03:33:36.854Z","dependency_job_id":"ebb20739-9ae1-4028-afa9-bbbf8b54281d","html_url":"https://github.com/machinelearningprodigy/WhastApp-Chat-Analyzer","commit_stats":null,"previous_names":["machinelearningprodigy/whastapp-chat-analyzer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machinelearningprodigy%2FWhastApp-Chat-Analyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machinelearningprodigy%2FWhastApp-Chat-Analyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machinelearningprodigy%2FWhastApp-Chat-Analyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machinelearningprodigy%2FWhastApp-Chat-Analyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/machinelearningprodigy","download_url":"https://codeload.github.com/machinelearningprodigy/WhastApp-Chat-Analyzer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248736880,"owners_count":21153661,"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":["matplotlib","plotly","scikit-learn","seaborn","streamlit","wordcloud"],"created_at":"2025-03-27T06:28:18.863Z","updated_at":"2025-04-13T15:34:59.309Z","avatar_url":"https://github.com/machinelearningprodigy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📊 WhatsApp Chat Analyzer\n\nWelcome to the WhatsApp Chat Analyzer! This tool allows you to upload and analyze your WhatsApp chat history, providing insightful statistics and visualizations about your conversations.\n\nLive Demo: [WhatsApp Chat Analyzer](https://whatsapp-chat-analyzer-24.streamlit.app/) 🎉\n\n## 🎯 Features\n\n- **Top Statistics**: Get an overview of the total messages, words, media shared, and links shared in the chat.\n- **Monthly Timeline**: Visualize the number of messages exchanged each month.\n- **Daily Timeline**: Track daily messaging activity.\n- **Activity Map**: Discover the most active days and months in your chat.\n- **Weekly Activity Map**: Heatmap showing the messaging activity throughout the week.\n- **Most Active Users**: Identify the most active participants in the chat.\n- **Wordcloud**: Generate a wordcloud of the most frequently used words in the chat.\n- **Most Common Words**: List the most common words used in the chat.\n- **Supports 12-Hour Time Format**: Specifically designed to work with WhatsApp chats exported in 12-hour time format.\n\n## 🚀 Getting Started\n\n### Prerequisites\n\nMake sure you have the following installed:\n\n- Python 3.8 or higher\n- Streamlit\n- Required Python packages: `pandas`, `seaborn`, `matplotlib`, `plotly`, `wordcloud`, `emoji`, `urlextract`, `nltk`\n\n### Installation\n\n1. **Clone the repository:**\n\n    ```bash\n    git clone https://github.com/machinelearningprodigy/WhastApp-Chat-Analyzer\n    cd WhastApp-Chat-Analyzer\n    ```\n\n2. **Install the required packages:**\n\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n3. **Run the Streamlit app:**\n\n    ```bash\n    streamlit run app.py\n    ```\n\n4. **Upload your WhatsApp chat file:**\n\n    - Export your WhatsApp chat from your mobile device.\n    - Upload the `.txt` file into the app.\n\n## 🧠 How It Works\n\n1. **Data Preprocessing:**\n   - The uploaded chat file is converted from bytes to a string.\n   - Dates, times, and messages are extracted using regular expressions.\n   - The chat data is then processed to separate user names and messages, which are stored in a pandas DataFrame.\n\n2. **Analysis:**\n   - **Top Statistics:** Computes the total number of messages, words, media files, and links shared.\n   - **Timelines:** Visualize messaging activity over time using monthly and daily timelines.\n   - **Activity Maps:** Understand the most active days of the week and months of the year.\n   - **Wordcloud \u0026 Common Words:** Generate a wordcloud and identify the most common words used in the chat.\n   - **Heatmap:** Displays weekly activity based on the time of day and day of the week.\n   - **Most Active Users:** For group chats, identify the most active participants.\n\n3. **Visualization:**\n   - Interactive plots and charts are generated using `matplotlib`, `seaborn`, and `plotly`.\n   - A wordcloud is created using the `WordCloud` library to highlight frequently used words.\n\n## 📈 Example Outputs\n\n### 🏆 Top Statistics\n\n\n### 📅 Monthly Timeline\n\n### 🔥 Weekly Activity Map\n\n\n### 🌟 Wordcloud\n\n\n## 🤖 Built With\n\n- [Streamlit](https://streamlit.io/) - The fastest way to build and share data apps.\n- [Pandas](https://pandas.pydata.org/) - Data manipulation and analysis.\n- [Seaborn](https://seaborn.pydata.org/) - Statistical data visualization.\n- [Matplotlib](https://matplotlib.org/) - Plotting and visualization.\n- [Plotly](https://plotly.com/) - Interactive graphs and plots.\n- [WordCloud](https://github.com/amueller/word_cloud) - A little word cloud generator in Python.\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n\nHappy Analyzing! 🎉\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmachinelearningprodigy%2Fwhastapp-chat-analyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmachinelearningprodigy%2Fwhastapp-chat-analyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmachinelearningprodigy%2Fwhastapp-chat-analyzer/lists"}