Personal analytics tool for iMessage and Call History on macOS
Project description
insightme
Local-only analytics for iMessage and Call History on macOS. Data never leaves your machine.
Requirements
- macOS with Messages / Phone data
- Python 3.11+
- Full Disk Access for the app that runs the tool (Terminal):
System Settings → Privacy & Security → Full Disk Access → add your terminal app
Install
From PyPI (after publishing)
pip install insightme
insightme
From a clone (editable, for development)
git clone https://github.com/YOUR_ORG/insightme.git
cd insightme
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
insightme
From Git without cloning manually
pip install "git+https://github.com/YOUR_ORG/insightme.git"
insightme
The insightme command starts the Streamlit UI. Open the URL shown in the terminal (usually http://localhost:8501).
Verify the data layer
python3 test_data_layer.py
Publishing to PyPI (maintainers)
pip install -e ".[dev]" # or: pip install build twine
python -m build
twine upload dist/*
If python -m build errors with No module named build.__main__, install the build package (pip install build). If pip is missing in the venv, run python -m ensurepip --upgrade first.
Use TestPyPI first if you want a dry run.
Troubleshooting
Cursor terminal vs Terminal.app
Full Disk Access is per application. If it works in Terminal but not in Cursor’s integrated terminal, add Cursor (and/or Cursor Helper / the binary that runs your shell) under Full Disk Access in System Settings, or run insightme from Terminal instead.
Accidental pip install e
If you see pip installing a tiny package named e from PyPI, you ran pip install e by mistake. Remove it: pip uninstall e. A normal install is pip install -e . (editable, from the project directory).
License
See the repository for license terms.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file insightme-0.1.0.tar.gz.
File metadata
- Download URL: insightme-0.1.0.tar.gz
- Upload date:
- Size: 30.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
008fdcacf7ee4a86b42ee66f5311bb6db62d20f0c8fa494619d98d7722b823b3
|
|
| MD5 |
f440307966fd6efeff792df00af630d9
|
|
| BLAKE2b-256 |
796d2e2a6d2b897854794e4658671f5919c9ffa0c78d9a79b1f86d5d9f7fd8f0
|
File details
Details for the file insightme-0.1.0-py3-none-any.whl.
File metadata
- Download URL: insightme-0.1.0-py3-none-any.whl
- Upload date:
- Size: 35.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31efc8671ea62fe414f22bd699969112c8dc057f3de0277e4487416f234d6ca0
|
|
| MD5 |
a45c29bbb1469250b7e851ce8e0113a0
|
|
| BLAKE2b-256 |
24c14999b135f1aea21f60d0aed9b3c072dfbab25290aa2f4ec8c699e404b756
|