@@ -20,6 +20,7 @@ This Python program analyzes a GitHub user's repositories to collect comprehensi
2020- 📈 Total additions and deletions across all repositories (including forks, but only counting user's own contributions)
2121- 🔤 Lines of code per programming language
2222- 📚 Detailed repository information
23+ - 📊 Multiple output formats (text, JSON, CSV)
2324
2425<div align =" center " >
2526 <img src =" ./assets/sample_1.webp " width =" 49% " alt =" Example Output 1 " />
@@ -38,10 +39,12 @@ View the latest analysis results in the [stats branch](https://github.com/Sakura
3839- ** Accurate Line Counting** : Precisely measures actual code lines by analyzing commit data directly from GitHub's API
3940- ** Parallel Processing** : Efficiently processes multiple repositories concurrently
4041- ** Rich Output** : Beautiful console output with tables and colors
42+ - ** Multiple Output Formats** : Support for text, JSON, and CSV output formats
4143- ** Detailed Logging** : Comprehensive logging for debugging
4244- ** Access Levels** : Supports both basic (no token) and full (with token) access modes
4345- ** Flexible Token Configuration** : Support for multiple ways to provide GitHub token
4446- ** Extensive Testing** : View our [ test results and testing pipeline] ( https://github.com/SakuraPuare/github-stats-analyzer/blob/test-results/test_results/test_report.md ) for quality assurance
47+ - ** Configurable Analysis** : Control the depth and scope of analysis with various command-line options
4548
4649## 🔧 Requirements
4750
@@ -127,7 +130,7 @@ python main.py <github_username>
127130The program supports the following command line options:
128131
129132``` bash
130- github-stats < github_username> [--debug] [--include-all] [--access-level {basic| full}] [--token TOKEN] [--max-repos MAX_REPOS] [--max-commits MAX_COMMITS] [--max-concurrent-repos MAX_CONCURRENT_REPOS] [--max-retries MAX_RETRIES] [--retry-delay RETRY_DELAY]
133+ github-stats < github_username> [--debug] [--include-all] [--access-level {basic| full}] [--token TOKEN] [--max-repos MAX_REPOS] [--max-commits MAX_COMMITS] [--max-concurrent-repos MAX_CONCURRENT_REPOS] [--max-retries MAX_RETRIES] [--retry-delay RETRY_DELAY] [--output {text | json | csv}] [--log-level {DEBUG | INFO | WARNING | ERROR | CRITICAL}]
131134```
132135
133136- ` --debug ` : Enable debug output for more detailed logging
@@ -138,9 +141,12 @@ github-stats <github_username> [--debug] [--include-all] [--access-level {basic|
138141- ` --token ` : GitHub Personal Access Token (can also be set via GITHUB_TOKEN environment variable)
139142- ` --max-repos ` : Maximum number of repositories to analyze
140143- ` --max-commits ` : Maximum number of commits to analyze per repository
141- - ` --max-concurrent-repos ` : Maximum number of repositories to process concurrently (default: 10 )
144+ - ` --max-concurrent-repos ` : Maximum number of repositories to process concurrently (default: 3 )
142145- ` --max-retries ` : Maximum number of retries for HTTP requests (default: 3)
143146- ` --retry-delay ` : Initial delay between retries in seconds (default: 1.0)
147+ - ` --output ` : Output format (text, json, csv) (default: text)
148+ - ` --log-level ` : Set the logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL) (default: INFO)
149+ - ` --exclude-languages ` : Languages to exclude from statistics (space-separated list)
144150
145151### Access Levels
146152
@@ -158,8 +164,8 @@ The program supports two access levels:
158164
159165#### Full Access (Token Required)
160166- Access to all repositories (public and private)
161- - No limit on number of repositories
162- - No limit on number of commits
167+ - No limit on number of repositories (default: 1000)
168+ - No limit on number of commits (default: 1000)
163169- Complete statistics
164170- Private repository access
165171- Fork analysis
@@ -205,6 +211,22 @@ The program will display:
205211- Language statistics sorted by lines of code
206212- List of repositories with star count and creation date (in full access mode)
207213
214+ ### Output Formats
215+
216+ The program supports three output formats:
217+
218+ #### Text (Default)
219+ - Rich console output with tables and colors
220+ - Detailed statistics and repository information
221+
222+ #### JSON
223+ - Structured JSON output for programmatic use
224+ - Contains all statistics and repository information
225+
226+ #### CSV
227+ - Comma-separated values for easy import into spreadsheets
228+ - Contains all statistics and repository information
229+
208230## 📝 Notes
209231
210232- The program analyzes all repositories including forks, but only counts the user's own contributions
0 commit comments