Skip to main content

Analyzes the entire history of a macOS Messages conversation

Project description

iMessage Conversation Analyzer

Copyright 2020-2024 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imessage-conversation-analyzer-1.2.3.tar.gz (10.8 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page