About whatstk
whatstk is a python package providing tools to parse, analyze and visualize WhatsApp chats developed by Lucas Rodés-Guirao. Easily convert your chats to csv or simply visualize statistics using the python library. The package uses pandas to process the data and plotly to visualise it.
You can also try a live demo.
The project is distributed under the GPL-3.0 license and is available on GitHub.
First contact with whatstk
whatstk is built around BaseChat object interface, which requires class method
from_source to be implemented. This method loads and parses the source
chat file into a pandas.DataFrame.
Below, we use method df_from_whatsapp to load LOREM chat. To test it with your own
chat, simply export it as a txt file to your computer and then use class argument filepath, as
shown in the following example.
>>> from whatstk import df_from_whatsapp
>>> from whatstk.data import whatsapp_urls
>>> df = df_from_whatsapp(filepath=whatsapp_urls.LOREM)
>>> df.head(5)
date username message
0 2020-01-15 02:22:56 Mary Nostrud exercitation magna id.
1 2020-01-15 03:33:01 Mary Non elit irure irure pariatur exercitation. 🇩🇰
2 2020-01-15 04:18:42 +1 123 456 789 Exercitation esse lorem reprehenderit ut ex ve...
3 2020-01-15 06:05:14 Giuseppe Aliquip dolor reprehenderit voluptate dolore e...
4 2020-01-15 06:56:00 Mary Ullamco duis et commodo exercitation.
Installation & compatibility
This project is on PyPI, install it with pip:
pip install whatstk
Project has been tested in Python>=3.11.
From source
Clone the project from the official repository and install it locally
git clone https://github.com/lucasrodes/whatstk.git
cd whatstk
pip install .
Extensions
To use Google Drive or Chat Generation support, install the library along with the corresponding extensions:
pip install whatstk[gdrive]
pip install whatstk[generate]
Or install the full suite:
pip install whatstk[full]
Develop
You can also install the version in development directly from github develop branch.
pip install git+https://github.com/lucasrodes/whatstk.git@develop
Note: It requires git to be installed.
Support
You can ask questions and join the development discussion on GitHub. Use the GitHub issues section to report bugs or request features and GitHub discussions to open up broader discussions. You can also check the project roadmap.
For more details, refer to the contribute section.
Why this name, whatstk?
whatstk stands for “WhatsApp Toolkit”, since the project was initially conceived as a python library to read and process WhatsApp chats. It currently only supports WhatsApp chats, but this might be extended in the future.