PROJECT NOTES
GitHub Activity CLI
A command-line tool for exploring GitHub activity, with local caching.
Python / GitHub API / HTTP caching
The project
A Python command-line project that retrieves GitHub activity and presents it in the terminal.
It became a way to explore how a client communicates with an external API, handles JSON responses, and avoids making unnecessary network requests.
Making caching useful
The caching work combines a time-to-live (TTL) with ETags. The TTL helps decide when cached information is fresh enough to reuse. An ETag lets the client ask the server whether the underlying response has changed.
These mechanisms answer different questions: whether to make a request yet, and whether that request needs to transfer a new response body.
What I worked through
The project involved thinking carefully about network failures, cached data, conditional requests, and where exceptions should be handled.
Keeping a bug log helped turn individual mistakes into questions I could revisit. A small command-line tool turned out to offer plenty of room to reason about reliability.