Skip to main content

CLI version of Codechef for dummies...

Project description

enter image description here

Knight is a command line utility for doing basic CodeChef operations like problem submission, history, etc directly from the terminal. Trust me it helps 😀

Parameters & Usage

usage: knight [-h] [-n] [-l] [--select-contest contest_code] [--reset-contest] [-s problem_code solution_location] [--history problem_code] [-u] [--config] [--logout]
  • -h or --help - Displays the standard help on usage and parameters
  • -n or --nologin - Performs certain operations that don't require you to log in (currently only -l or --list-contests)
  • --select-contest <contest_code> - Change the contest to the current ongoing contest_code
  • --reset-contest - Change the contest to PRACTISE mode
  • -s <problem code> <solution file> or --submit <problem code> <solution file> - Submit your solution file to the specified problem code. Change the contest to submit to an ongoing contest.
  • --history <problem code> - Display your submission history for that problem in a prettier tabular format. Change the contest to submit to an ongoing contest
  • -u or --user - Display the currently configured user on Knight.
  • --config - Set another username and password for logging into Codechef.
  • --logout - Logs out the configured user on Codechef (if logged in)

Note: Knight uses sessions so your previous login session is saved for later use.

Installation

  • Linux & Unix systems - $ pip install knight --upgrade
  • Windows - pip install knight --upgrade

For Windows users, you need to add installation directory to PATH. At the end of the installation, you'll be notified by a warning with a location/directory. Copy that location and add it to system's PATH variable.

Requirements

  • Python 3.x

Issues

In case of some error or exceptions, please find the log files under HOME_DIR/.knight/logs/ and submit an issue on Github with the logs. It will really be of great help improving the user experience.

How to Contribute

  • Fork the repo.

  • Clone the repo https://github.com/<your username>/knight.git to empty directory.

    mkdir knight
    cd knight
    git clone https://github.com/<your username>/knight.git
    
  • Create a new branch for your changes.

    git branch my_branch
    git checkout my_branch
    
  • Commit your changes and Submit Pull Request to master branch of parent project with description and comments

Testing

Run the knight.py file with requried parameters and arguments that work on your changes.

[Inside project root]

python3 knight/knight.py <appropriate args>

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

knight-1.1.2.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

knight-1.1.2-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file knight-1.1.2.tar.gz.

File metadata

  • Download URL: knight-1.1.2.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3

File hashes

Hashes for knight-1.1.2.tar.gz
Algorithm Hash digest
SHA256 311c6c5616faa57e5d3eddbdc5e489bc3f22e21eb01b9c18046d0db6bacbee69
MD5 8cdf39a0b9775ddc0671124cb9aaaf4d
BLAKE2b-256 eac4bf6561d90970ed9078fe8606d73a79d9301c3059ac253fc30e10980f70d7

See more details on using hashes here.

File details

Details for the file knight-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: knight-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3

File hashes

Hashes for knight-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 60cae99668ffd692bf976a412ed19d6a9dd0d3023557584a4eb6798bf77663bc
MD5 5d98495921a79b4d2f6f0dfd5c92fbdb
BLAKE2b-256 42d186575004654c917278b5134293105bf1bbfa9bd96df39e220e0bdcb92cb9

See more details on using hashes here.

Supported by

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