Automation tool for CodeChef
Project description
ChefMate
ChefMate is a CLI tool for automating CodeChef tasks via an interactive menu-driven interface. It streamlines the workflow of logging in, opening contests, solving problems, running demo test cases, submitting solutions, and tracking problem statuses in real time.
Features
- Interactive Mode: User-friendly, arrow-key-driven menu
- Automated Login: Seamlessly sign into CodeChef
- Contest Management: Open contests by ID directly in browser
- Problem Solving Support: Scaffold and open solution files locally
- Demo Test Case Checking: Run and verify sample tests before submission
- Automated Submission: Submit solutions without leaving the terminal
- Problem Tracker: View status (✅ done | 🟡 pending | ❌ wrong)
- Configuration Management: Easily reconfigure user preferences
- Clear Terminal: Wipe the screen for a fresh view
Installation
You don’t need to clone any repository — just install via pip:
pip install chefmate
That’s it!
Usage
Run ChefMate in interactive mode:
python main.py interactive
If you have set up an entry point, you can also run:
chefmate interactive
Initial Configuration
On first run, ChefMate will prompt you to configure key settings:
- Username: Your CodeChef username
- Password: Your CodeChef password (input hidden)
- Default Solution Path: Local directory or file path pattern for solutions
- Chrome User Data Directory (optional): Path to Chrome profile data
- Chrome Profile (optional): Profile name within Chrome
- Preferred Language: Language for submissions (C++, Python 3, Java, etc.)
- Preferred Editor: Editor to open solution files (default, VS Code, Sublime, etc.)
Interactive Mode Options
When you launch interactive mode, you’ll see a menu:
==================================================
ChefMate Interactive Mode
==================================================
Use arrow keys to navigate and Enter to select any of the following:
| Option | Description | Example GIF/Screenshot |
|---|---|---|
| Login | Authenticate with CodeChef | |
| Open Contest | Open a CodeChef contest by ID in your browser | |
| Solve Problems | Scaffold and open solution templates locally | |
| Check Demo test cases | Run sample tests on your solution | |
| Submit Solution | Submit your solution to CodeChef | |
| Problem Tracker | View current status of each problem | |
| Re-configure ChefMate | Update any configuration options | |
| Clear Terminal | Clear your terminal screen | |
| Logout | Sign out of your CodeChef session | |
| Exit / Logout and Exit | Quit interactive mode (and logout if selected) |
Visual Walkthrough
Start ChefMate
Logging In
Opening a Contest
Solving Problems
Checking Demo Test Cases
Submitting a Solution
Problem Tracker
License
This project is released under the MIT License. See LICENSE for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chefmate-1.0.3.tar.gz.
File metadata
- Download URL: chefmate-1.0.3.tar.gz
- Upload date:
- Size: 22.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b145c6c1870aa655045d2b271112a3200d440c93765d41e353bde4e65082a5e
|
|
| MD5 |
476560914b8f3fc22674ec8ce0ca31fb
|
|
| BLAKE2b-256 |
df8a640500a27020347fac24db4387a433dff9b074abdc134d68f8bb072e779a
|
File details
Details for the file chefmate-1.0.3-py3-none-any.whl.
File metadata
- Download URL: chefmate-1.0.3-py3-none-any.whl
- Upload date:
- Size: 21.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
620fefa392e554fd6a58c82a8640c39728bdee3ec0d59ba3ecdacb045c8cf21b
|
|
| MD5 |
481b1bc5fc68f2badee68ae8ac58a5f7
|
|
| BLAKE2b-256 |
385c654e591d20dc5974a0d6d4823cde75c0f4da8351151a2f3ec1cd9017f9e5
|