← All projects

PROJECT NOTES

GitHub Activity CLI

A command-line tool for exploring GitHub activity, with local caching.

Python / GitHub API / HTTP caching

Working summary for this website draft. Project descriptions will be reviewed before launch.

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.

Explore the code ↗