Analyzes the entire history of a macOS Messages conversation
Project description
iMessage Conversation Analyzer
Copyright 2020-2021 Caleb Evans
Released under the MIT license
This macOS CLI program will read the contents of an iMessage conversation via the Messages app's database on your Mac. You can then gather various metrics of interest on the messages and attachments collected.
Much of this program was inspired by and built using findings from this blog post by Yorgos Askalidis.
Caveats
Please note that currently, you can only query conversations between you and a single other person (i.e. group chats are currently unsupported).
Installation
1. Install Python 3
macOS does not include Python 3 out of the box, but you can install Python 3 with the Homebrew package manager.
brew install python@3
2. Set up virtualenv
pip3 install virtualenv
virtualenv --python=python3 .virtualenv
source .virtualenv/bin/activate
3. Install project depdendencies
pip install -r requirements.txt
Usage
-c / --contact-name
Required; the combined first and last name of the macOS contact whose
conversation you want to fetch (e.g. John Doe
).
ica -c 'John Doe' -m ica/metrics/message_totals.py
-m / --metric-file
Required; a Python file with an analyze()
function; this file must return a
pandas DataFrame
. See the examples in ica/metrics
.
ica -c 'John Doe' -m ica/metrics/most_frequent_emojis.py
-f / --format
Optional; the output format of the result. Omit this argument for a simple
textual table, or specify csv
to print output as CSV.
ica -c 'John Doe' -m ica/metrics/message_totals.py -f csv
You can also output as CSV and use the pbcopy
command for easy copy/pasting
into a spreadsheet program (like Excel or Numbers).
ica -c 'John Doe' -m ica/metrics/message_totals.py -f csv | pbcopy
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
Built Distribution
Hashes for imessage-conversation-analyzer-1.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15905a2105b180c2721b058ce14a5e5ff3f16f8a1b94caca056fadb9c914bc28 |
|
MD5 | 2b5137278d53df9701ea3df50e3bf2a4 |
|
BLAKE2b-256 | 28336f59efd2c39d2590d583dd755784ea3634073319cf7b5b8aefd0105f26c6 |
Hashes for imessage_conversation_analyzer-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bddf5aafe6fd53e1ed4d8a9f1913078a76b31d43980505570bb0d9b4747adfe7 |
|
MD5 | d39b32e4b468383a91100885818fd973 |
|
BLAKE2b-256 | 2e2e7603e078ad635d26cf6b93c129820f5dbd5f75e8071ce526d5352416f018 |