A Python tool to fetch, cache, and analyze trending GitHub repositories with README support.
- Fetch trending repositories from GitHub (daily, weekly, monthly)
- Automatically download and cache README files
- Support for both
.mdand.rstREADME formats - Color-coded terminal output with emoji indicators
- Smart README detection across multiple branches and paths
- Verbose mode for debugging and detailed information
- Local cache to minimize network requests
-
Clone the repository:
git clone https://github.com/yourusername/readmine.git cd readmine -
Create and activate a virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate
-
Install the required dependencies:
pip install -r requirements.txt
# Show trending repositories (default: daily)
python -m readmine.readmine
# Enable verbose output
python -m readmine.readmine --verboseEach repository is displayed with the following format:
● 🔥 m#1 2025-07-10 21:51 MD user/repo
│ │ │ └─ README timestamp (if available)
│ │ └─ Time period (d=day, w=week, m=month)
│ └─ Rank
└─ Status indicator (● = new, ○ = seen before)
Status Indicators:
🔥- Recently updated (within 24 hours)💨- Not recently updatedMD/RST- README format (green if exists, yellow if missing)Rin red - No main/master branch foundRin yellow - Branch exists but no README found
- Fetching Trends: Uses web scraping to get trending repositories from GitHub
- README Caching:
- Checks local cache first (
readmes/directory) - Falls back to remote fetch if not found locally
- Supports multiple branches (
main,master,gh-pages) - Tries multiple paths and filename variations
- Checks local cache first (
- Output:
- Color-coded terminal output
- Summary of new/unique repositories
- Count of missing READMEs
- Python 3.7+
- requests
- beautifulsoup4
- lxml
--verbose,-v: Enable verbose output for debugging
MIT
Contributions are welcome! Please feel free to submit a Pull Request.