TripleTen CLI

A Python CLI tool for tracking TripleTen Software Engineering leaderboard, featuring real-time watch mode, rich terminal tables, authentication management, and comprehensive configuration options for students, instructors, and tutors.

Live Demo

TripleTen CLI

A comprehensive Python CLI tool designed to track and display the TripleTen Software Engineering leaderboard in real-time. Built for students, instructors, and tutors to monitor progress and rankings with rich terminal output, authentication management, and configurable watch modes.

Key Features

Real-Time Leaderboard Tracking

Authentication & Configuration

Multiple Time Periods

Developer Experience

My Role on the Project

Technical Architecture

Core Technologies

Development Tools

Project Structure

CLI Commands

Leaderboard Display

# Default leaderboard (all time)
tripleten

# Specific time periods
tripleten leaderboard --period 30_days
tripleten leaderboard --period 7_days

# Watch mode with custom interval
tripleten leaderboard --watch --interval 60
tripleten leaderboard -w --interval 30

Authentication

# Auto-read cookies from clipboard
tripleten login

# Manual cookie input
tripleten login --cookies "your_cookie_string_here"

Configuration

# Show current settings
tripleten config --show

# Set default values
tripleten config --set default_interval 45
tripleten config --set default_period 7_days

Sample Output

Rich Table Display

πŸ† Leaderboard
┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃  Rank  ┃ Name                 ┃         XP ┃  Completed ┃   Streak ┃
┑━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
β”‚   1    β”‚ Oluwasetemi Ojo      β”‚         43 β”‚          0 β”‚        0 β”‚
β”‚   2    β”‚ Marina Viriyalova    β”‚         19 β”‚          0 β”‚        0 β”‚
β”‚   3    β”‚ Luiz Araujo          β”‚         10 β”‚          0 β”‚        0 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Configuration Display

Current Configuration:
Location: ~/.config/tripleten-cli/config.toml

┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Setting          ┃ Value                                       ┃
┑━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
β”‚ default_period   β”‚ all_time                                    β”‚
β”‚ default_interval β”‚ 30                                          β”‚
β”‚ session_cookie   β”‚ ****def456                                  β”‚
β”‚ user_id          β”‚ alice123                                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Installation & Usage

Installation

# Install from PyPI
pip install tripleten-cli

# Or install from source
git clone https://github.com/Oluwasetemi/tripleten_cli.git
cd tripleten_cli
pip install -e .

Quick Start

# Login with your TripleTen credentials
tripleten login

# View leaderboard
tripleten

# Watch mode for real-time updates
tripleten -w --interval 30

Development Setup

Environment Setup

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install development dependencies
pip install -e ".[dev]"

# Install pre-commit hooks
pre-commit install

Code Quality

# Format code
black src/ tests/

# Sort imports
isort src/ tests/

# Lint code
flake8 src/ tests/

# Type checking
mypy src/

# Run tests
pytest

Motivation & Impact

This project was created to solve a real need in the TripleTen educational community. As a tutor and instructor, I needed a way to quickly check student progress and rankings without constantly refreshing the web interface. The CLI tool provides:

Live Demo & Resources

Future Enhancements

The TripleTen CLI demonstrates modern Python CLI development practices with a focus on user experience, code quality, and maintainability.