$ show bellingcat/octosuite
octosuite is a Python command-line and interactive terminal (TUI) application for querying and analyzing public GitHub data. It provides a library interface for programmatic access and a CLI/TUI for interactive use. It wraps the GitHub REST API v3 with an in-memory cache and data sanitization. It supports users, organizations, repositories, and search. The codebase is well-structured with clear separation between API layer, models, CLI argument parsing, and TUI using questionary and rich. It is published on PyPI and uses modern Python packaging (uv). However, it lacks automated tests and does not handle GitHub API authentication or rate limiting, which limits its production readiness. The code is clean and follows good practices, making it a solid foundation for extension.
The LLM identified 2 files worth highlighting for reuse:
Provides a simple in-memory response cache with MD5-based key generation from URL and parameters. The cache class (ResponseCache) has clear methods (get, set, clear, remove) and is used globally via a singleton `cache` instance. It is self-contained, can be extracted into any Python project needing lightweight API response caching.
Core API client for GitHub REST API. Encapsulates HTTP requests with configurable user-agent, integrates with the in-memory cache, and provides a recursive response sanitizer that removes API URLs and null values from responses. It is mostly self-contained (depends only on cache and meta) and could be reused as a base for other API clients. The sanitise_response method is a non-obvious pattern for cleaning nested API responses.