Track your students' progress on Codeforces
Version 1.1.0
A simple tool for educators to track their students' competitive programming progress
Monitor an unlimited number of Codeforces handles at once
Automatically detect and highlight rating and rank changes
Store historical data for comparison over time
Easy-to-use command-line interface with colorized output
Export data to CSV for further analysis
Validate handles before adding them to your tracking list
Track ratings from specific time periods (e.g., March 2022, 2023, 2024)
Compare student progress across multiple years
Track ratings and ranks from specific time periods (March 2022, 2023, 2024)
python3 historical_ranks.py
Export historical data to CSV for further analysis
python3 export_historical_csv.py
Enhanced error recovery and URL encoding for special characters in handles
Added more detailed progress information during API requests
$ python3 cf_tracker.py
Fetching data for 5 handles...
Processing handles: tourist, Petr, ecnerwala, Um_nik, Benq
Handle Current Rating Current Rank Max Rating Max Rank Change
---------- -------------- ------------------- ---------- ------------------ --------
tourist 3979 Legendary Grandmaster 3979 Legendary Grandmaster +25 ↑
Petr 3597 International Grandmaster 3756 Legendary Grandmaster 0 =
ecnerwala 3531 International Grandmaster 3531 International Grandmaster -12 ↓
Um_nik 3488 International Grandmaster 3488 International Grandmaster 0 =
Benq 3469 International Grandmaster 3469 International Grandmaster +7 ↑
Data updated successfully!
$ python3 historical_ranks.py
Fetching historical data for tourist...
Fetching historical data for Petr...
Fetching historical data for ecnerwala...
Historical Codeforces Ratings for March:
+----------+-----------------+----------------+------------------+----------------+------------------+----------------+
| Handle | March 2022 | Contest Date | March 2023 | Contest Date | March 2024 | Contest Date |
+==========+=================+================+==================+================+==================+================+
| tourist | 3805 (Legendary)| 2022-02-23 | 3887 (Legendary) | 2023-03-19 | 3979 (Legendary) | 2024-03-10 |
+----------+-----------------+----------------+------------------+----------------+------------------+----------------+
| Petr | 3597 (Int'l GM) | 2022-03-15 | 3597 (Int'l GM) | 2023-02-28 | 3597 (Int'l GM) | 2024-02-15 |
+----------+-----------------+----------------+------------------+----------------+------------------+----------------+
| ecnerwala| 3531 (Int'l GM) | 2022-01-23 | 3531 (Int'l GM) | 2023-01-08 | 3531 (Int'l GM) | 2024-01-21 |
+----------+-----------------+----------------+------------------+----------------+------------------+----------------+
pip install -r requirements.txt
python3 add_handles.py
Or edit handles.txt directly
python3 cf_tracker.py
python3 historical_ranks.py
python3 export_csv.py
python3 export_historical_csv.py