{"id":17259381,"url":"https://github.com/sshleifer/charactr","last_synced_at":"2025-04-14T06:20:42.287Z","repository":{"id":30042213,"uuid":"33591322","full_name":"sshleifer/charactr","owner":"sshleifer","description":"Visualize your iMessage conversations","archived":false,"fork":false,"pushed_at":"2018-01-16T00:19:39.000Z","size":271188,"stargazers_count":12,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-12T21:53:18.842Z","etag":null,"topics":["imessage","javascript","visualization"],"latest_commit_sha":null,"homepage":"http://pjdewire.github.io/charactr_site/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sshleifer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-08T07:24:17.000Z","updated_at":"2025-03-26T13:10:45.000Z","dependencies_parsed_at":"2022-09-07T18:12:37.907Z","dependency_job_id":null,"html_url":"https://github.com/sshleifer/charactr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshleifer%2Fcharactr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshleifer%2Fcharactr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshleifer%2Fcharactr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshleifer%2Fcharactr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sshleifer","download_url":"https://codeload.github.com/sshleifer/charactr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248830820,"owners_count":21168352,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["imessage","javascript","visualization"],"created_at":"2024-10-15T07:25:42.615Z","updated_at":"2025-04-14T06:20:42.256Z","avatar_url":"https://github.com/sshleifer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# charactr\niPhone/iMessage users can interactively visualize their\ntexting history, using pandas, [d3.js](http://d3js.org/) and [crossfilter.js](http://square.github.io/crossfilter/).\n\nYou must have a mac with either iMessage or itunes backups of your iphone.\n\n## Instructions from command line:\n- `git clone git@github.com:sshleifer/charactr.git`\n- `cd charactr`\n- `export PYTHONPATH=PYTHONPATH:\".\"`\n- `python app/run.py`\n- If that failed, try `pip install -r requirements.txt`\n\n\n\nThe data are read from `~/Library/Messages/chat.db` (and some other paths) by the `read_db()` function in `chat_to_csv.py`\nCleaned data are written to `imsg_stats/csv/`\nThen some javascript runs that looks for the cleaned data and makes some pretty visualizations\nHelp and feature requests welcome and sorely needed!\n\n## Desktop app  (broken, help fix!)\n1. Download charactr [Here] (http://pjdewire.github.io/charactr_site/).\n2. Right click and open on the charactr application.\n3. This should open `localhost:8000` in your browser, with the scatterplot\n   showing. If you have a previous version or another application running on port 8000, you will need to kill the other application and refresh.\n4. Once you see the scatterplot, read the instructions.\n5. Follow links to charts 2 and 3.\n5. When you are bored, force quit charactr.\n\nIf something breaks, take a screenshot of your Mac and/or browser console, and post it as an\nissue or email to sshleifer at gmail dot com.\n\n\n## Saving Your Data (without viewing charts)\n- `python scripts/save_data.py`\n- data will be written to `imsg_stats/msg.csv`\n\n\n## Privacy\n- we dont have a server. No data leaves your local machine!\n\n## Future Plans\n- Delete unused code\n- Support Group Chats\n- More Plots, tables\n- NLP, word clouds\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsshleifer%2Fcharactr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsshleifer%2Fcharactr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsshleifer%2Fcharactr/lists"}