https://github.com/tddschn/whatsapp-chat-analyze
Command Line Tool to Generate Pretty Charts from Whatsapp Exported Chats
https://github.com/tddschn/whatsapp-chat-analyze
data-analysis data-visualization plotly python whatsapp whatsapp-data
Last synced: about 1 year ago
JSON representation
Command Line Tool to Generate Pretty Charts from Whatsapp Exported Chats
- Host: GitHub
- URL: https://github.com/tddschn/whatsapp-chat-analyze
- Owner: tddschn
- Created: 2024-05-06T04:17:28.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-05-07T03:34:58.000Z (almost 2 years ago)
- Last Synced: 2025-02-17T09:18:11.195Z (about 1 year ago)
- Topics: data-analysis, data-visualization, plotly, python, whatsapp, whatsapp-data
- Language: Python
- Homepage: https://teddysc.me/blog/whatsapp-chat-analyze
- Size: 50.8 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# whatsapp-chat-analyze
Command line tool to analyze WhatsApp exported chat data (accepts .txt and .zip) and plot pretty interactive charts.
- [whatsapp-chat-analyze](#whatsapp-chat-analyze)
- [Demo](#demo)
- [Features](#features)
- [Installation](#installation)
- [pipx](#pipx)
- [pip](#pip)
- [Usage](#usage)
- [Develop](#develop)
- [Limitations](#limitations)
## Demo

For more plots and interactity, check out the blog post: https://teddysc.me/blog/whatsapp-chat-analyze .
## Features
- Simple to install and use, no cloning involved, supports modern Python versions
- Extracts chat data from .txt or .zip files
- Export to csv (`-c`)
- Pretty interactive charts with plotly and save them to HTML files
- 6 different plots, see [demo](#demo)
- Anonymize sender names to `A`, `B`, `C`, etc. (`-a`)
## Installation
Python>=3.10 required.
### pipx
This is the recommended installation method.
```
$ pipx install whatsapp-chat-analyze
```
### [pip](https://pypi.org/project/whatsapp-chat-analyze/)
```
$ pip install whatsapp-chat-analyze
```
## Usage
```plain
$ whatsapp-chat-analyze --help
usage: whatsapp-chat-analyze [-h] [-n name] [-o base] [-d] [-E] [-c] [-a] file
Analyze Whatsapp Exported .txt or .zip (will be automatically extracted) chat file
positional arguments:
file Chat file (_chat.txt or *.zip) to analyze
options:
-h, --help show this help message and exit
-n name, --chat-name name
Name of the chat (default: Chat)
-o base, --output-base-name base
Output base name for the plots (default: whatsapp-chat)
-d, --by-day-only Plot messages per day only (default: False)
-E, --extract-only Extract the chat and exit (default: False)
-c, --to-csv-only Convert chat to csv and exit (default: False)
-a, --anonymize Anonymize the chat by replacing author names with generic names (default: False)
```
## Develop
```
$ git clone https://github.com/tddschn/whatsapp-chat-analyze.git
$ cd whatsapp-chat-analyze
$ poetry install
```
## Limitations
- Parsing of chat data uses simple regex, and author names in non-latin languages may not be parsed correctly