No description
Find a file
2025-04-22 19:55:06 -05:00
logs started log config 2025-03-26 17:48:56 -05:00
output Added creation of email filter xml, plus a lot of cleanup 2025-03-30 18:25:41 -05:00
src/gmail_stats Added creation of email filter xml, plus a lot of cleanup 2025-03-30 18:25:41 -05:00
.gitignore Updated gitignore. Do I have to push this? 2025-04-22 19:55:06 -05:00
.python-version initial commit 2025-03-25 21:36:32 -05:00
pyproject.toml Ran v3.2, then used Chatgpt to generate a series of summary reports from the resulting database. After several refinements, I had chatgpt generate an email filter that could be imported into Gmail. The filters imported correctly, but the properties need tweeking. 2025-03-28 16:41:27 -05:00
README.md project updates 2025-03-26 18:27:26 -05:00
uv.lock Ran v3.2, then used Chatgpt to generate a series of summary reports from the resulting database. After several refinements, I had chatgpt generate an email filter that could be imported into Gmail. The filters imported correctly, but the properties need tweeking. 2025-03-28 16:41:27 -05:00

GMail Stats

Usage

uv run gmail-stats

General Idea

  • Use mbox format from Google

    The mbox format is the classic format for storing mail on Unix systems.

  • Read in batches

  • Convert each batch of emails into a list of dicts. Needs to handle:

    • Header decoding
    • Multipart messages
  • Convert list of dicts into DataFrames

  • Write DataFrames to parquet format

  • Query with duckdb

References