Skip to main content

Automation tool for CodeChef

Project description

ChefMate

Logo

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.)

First Configure

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 Logging In
Open Contest Open a CodeChef contest by ID in your browser Open Contest
Solve Problems Scaffold and open solution templates locally Solve Problems
Check Demo test cases Run sample tests on your solution Demo Tests
Submit Solution Submit your solution to CodeChef Submitting Solution
Problem Tracker View current status of each problem Tracker
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

Start ChefMate

Logging In

Logging In

Opening a Contest

Open Contest

Solving Problems

Solve Problems

Checking Demo Test Cases

Demo Test Cases

Submitting a Solution

Submitting Solution

Problem Tracker

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

chefmate-1.0.3.tar.gz (22.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chefmate-1.0.3-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

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

Hashes for chefmate-1.0.3.tar.gz
Algorithm Hash digest
SHA256 5b145c6c1870aa655045d2b271112a3200d440c93765d41e353bde4e65082a5e
MD5 476560914b8f3fc22674ec8ce0ca31fb
BLAKE2b-256 df8a640500a27020347fac24db4387a433dff9b074abdc134d68f8bb072e779a

See more details on using hashes here.

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

Hashes for chefmate-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 620fefa392e554fd6a58c82a8640c39728bdee3ec0d59ba3ecdacb045c8cf21b
MD5 481b1bc5fc68f2badee68ae8ac58a5f7
BLAKE2b-256 385c654e591d20dc5974a0d6d4823cde75c0f4da8351151a2f3ec1cd9017f9e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page