GitHub Events Monitor
A Python-based service that monitors GitHub Events (WatchEvent, PullRequestEvent, IssuesEvent), stores them in SQLite, exposes data through an MCP server (each tool = API endpoint), and publishes interactive visualizations to a GitHub Pages site from the docs/ folder.
Architecture (C4 L1)
[Person: Dashboard User] → [Container: GitHub Pages (docs/)] ← [Container: Data Exporter] ← [Container: Events DB (SQLite)] ← [Container: Event Monitor Service] ← [External System: GitHub API /events] [Person: API Consumer] → [Container: MCP Server] → [Container: Events DB (SQLite)]
Components
- Event Monitor: Polls https://api.github.com/events, filters target types, stores to SQLite, computes PR metrics.
- MCP Server: Tools to retrieve metrics/data directly from the DB.
- Data Exporter: Builds docs/data.json and Plotly HTML charts in docs/.
- GitHub Pages: Static dashboard served from docs/.
Setup
- Python env
- python -m venv venv
- source venv/bin/activate
- pip install -r requirements.txt
- Initialize DB
- sqlite3 database/events.db < database/schema.sql
- Run monitor
- python service/github_monitor.py # continuous
- python service/github_monitor.py --once # single cycle (useful in CI) Optional: export GITHUB_TOKEN for higher limits.
- Export dashboard data
- python service/data_exporter.py
- MCP server
- python mcp/server.py
GitHub Pages
- Push to main branch.
- Enable Pages from Settings → Pages → Deploy from a branch → main → /docs.
Notes
- created_at_ts (epoch) enables correct time filtering and SQLite date ops.
- For production, consider PostgreSQL, containerization, and a retention policy for events.
Metadata
Release files for github-events-monitor 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| github_events_monitor-1.0.1.tar.gz | 26.1 kB | Without provenance | Details for github_events_monitor-1.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| github_events_monitor-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for github_events_monitor-1.0.1-py3-none-any.whl |
Total release size: 28.6 kB
Release files / github_events_monitor-1.0.1.tar.gz
| Download URL | github_events_monitor-1.0.1.tar.gz |
|---|---|
| Size | 26.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e4b7cb2b12a327d43174129f61f7c8c373f677524c279d5e5e6e7af636056ccb
|
|
BLAKE2b-256 checksum How to use checksums |
b8f02fdf98106803ee3297d3d4b84bb3174ea8e748f5a6567bd2f5ebe477ecd2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.5
|
Release files / github_events_monitor-1.0.1-py3-none-any.whl
| Download URL | github_events_monitor-1.0.1-py3-none-any.whl |
|---|---|
| Size | 2.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ffb4226255cc82a23ad8dd523cffb3ce6f2ae59891338bf6dacad6c9afb3f909
|
|
BLAKE2b-256 checksum How to use checksums |
7c05f4e6e31040afab84c20754c7f9702ed427886d3a1d7fc8095b2d5aa6c21f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.5
|
Security for github-events-monitor 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.