Generates activity reports for Apache Software Foundation projects by fetching mailing list archives and git repository metadata.
./project_activity.py -p <project> [-m <months>]
| Flag | Description | Default |
|---|---|---|
-p, --project | ASF project name (e.g., iceberg, httpd) | required |
-m, --months | Number of months of history | 3 |
-h, --help | Show help |
./project_activity.py -p iceberg -m 6
Mailing lists — Checks for common Apache list names (dev, user, users, commits, issues, reviews), then fetches mbox archives for the time period. Already-fetched past months are skipped if complete; the current month is always refetched.
Git repositories — Discovers apache/{project} and apache/{project}-* repos on GitHub. Clones metadata-only (no file content). Existing clones are updated with git pull.
Report — Generates a Markdown report with the top 5 most active threads per mailing list and commit counts per repository. Lists and repos with no activity are omitted.
project-activity/
├── project_activity.py # Main script
├── README.md
├── DATA/
│ ├── mbox/
│ │ └── <project>/
│ │ └── <list>/ # e.g., dev/, issues/
│ │ └── YYYY-MM.mbox # Monthly mbox archives
│ └── REPOSITORIES/
│ └── <project>/
│ └── <repo>/ # Metadata-only git clones
└── REPORTS/
└── <project>/
└── YYYY-MM-DD.md # Datestamped activity reports