Lean parsers and visualizations for chat data
Project description
chat-miner: turn your chats into artwork
chat-miner provides lean parsers for every major platform transforming chats into pandas dataframes. Artistic visualizations allow you to explore your data differently and create artwork from your chats.
1. Installation
git clone https://github.com/joweich/chat-miner.git
cd chat-miner
pip install -r requirements.txt
2. Exporting chat logs
Have a look at the official tutorials for WhatsApp, Signal, Telegram, or Facebook Messenger to learn how to export chat logs for your platform.
3. Parsing
Following code showcases the WhatsAppParser
module.
The usage of SignalParser
, TelegramJsonParser
, and FacebookMessengerParser
follows the same pattern.
from chatminer.chatparsers import WhatsAppParser
parser = WhatsAppParser(FILEPATH)
parser.parse_file_into_df()
4. Visualizing
import chatminer.visualizations as vis
import matplotlib.pyplot as plt
4.1 Heatmap: Message count per day
fig, ax = plt.subplots(2, 1, figsize=(9, 3))
ax[0] = vis.calendar_heatmap(parser.df, year=2020, cmap='Oranges', ax=ax[0])
ax[1] = vis.calendar_heatmap(parser.df, year=2021, linewidth=0, monthly_border=True, ax=ax[1])
4.2 Sunburst: Message count per daytime
fig, ax = plt.subplots(1, 2, figsize=(7, 3), subplot_kw={'projection': 'polar'})
ax[0] = vis.sunburst(parser.df, highlight_max=True, isolines=[2500, 5000], isolines_relative=False, ax=ax[0])
ax[1] = vis.sunburst(parser.df, highlight_max=False, isolines=[0.5, 1], color='C1', ax=ax[1])
4.3 Wordcloud: Visualize word frequencies
fig, ax = plt.subplots(figsize=(8, 3))
stopwords = ['these', 'are', 'stopwords']
kwargs={"background_color": "white", "width": 800, "height": 300, "max_words": 500}
ax = vis.wordcloud(parser.df, ax=ax, stopwords=stopwords, **kwargs)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
chat-miner-0.1.0.tar.gz
(1.0 MB
view hashes)
Built Distribution
Close
Hashes for chat_miner-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b41631edd02abda3de4f5b38611302e19693de979118ad464a42f0252c8152be |
|
MD5 | d701a68ef90b30876758fa18c98ee136 |
|
BLAKE2b-256 | 56cb9f969013561fade92f1d184897a5f61708277653d47728d9006c4242af2c |