All Projects → cp-tools → cpt

cp-tools / cpt

Licence: GPL-3.0 license
An amazing versatile CLI tool for competitive programming!

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to cpt

Competitive-programing
This repository is for encouraging people in competitive programming. And making PR's on a regular basis. Through this repo, Geeks can find solutions for various programming problems and also give your code to increase the repo.
Stars: ✭ 20 (-37.5%)
Mutual labels:  competitive-programming, codeforces
psolving-paradigms
Common problems of dynamic programming methods and techniques, including prerequisites, for competitive programmers.
Stars: ✭ 34 (+6.25%)
Mutual labels:  competitive-programming, codeforces
CodePal
A Visual Studio Code Extension for competitive programming.
Stars: ✭ 45 (+40.63%)
Mutual labels:  competitive-programming, codeforces
Competitive Coding
Contains Solution for all type of Problems of Competitive Programming. Updates Frequently as any problem is solved.
Stars: ✭ 16 (-50%)
Mutual labels:  competitive-programming, codeforces
CodeForces
Python solutions to CodeForces problems
Stars: ✭ 48 (+50%)
Mutual labels:  competitive-programming, codeforces
Competitive-Programming--Solution
This ia an public repository for Accepted solution of coding problems on different coding plateforms like codeforces , hackerearth, codechef , hackerrank .......
Stars: ✭ 24 (-25%)
Mutual labels:  competitive-programming, codeforces
LearnCPP
Learn Cpp from Beginner to Advanced ✅ Practice 🎯 Code 💻 Repeat 🔁 One step solution for c++ beginners and cp enthusiasts.
Stars: ✭ 359 (+1021.88%)
Mutual labels:  competitive-programming, codeforces
competitive-programming
This is my collection of various algorithms and data structures that I feel that are needed frequently in competitive programming .
Stars: ✭ 30 (-6.25%)
Mutual labels:  competitive-programming, codeforces
cphelper.nvim
Neovim helper for competitive programming. https://sr.ht/~p00f/cphelper.nvim preferred
Stars: ✭ 56 (+75%)
Mutual labels:  competitive-programming, codeforces
Competitive-Coding
Contains solution code of SPOJ, LeetCode, HackerRank and Codeforces questions solved by me.
Stars: ✭ 46 (+43.75%)
Mutual labels:  competitive-programming, codeforces
A2OJ-Enhancer
Chrome extension to enhance the functionality of static A2OJ site.
Stars: ✭ 36 (+12.5%)
Mutual labels:  competitive-programming, codeforces
GoCF
Contest parser for codeforces.com
Stars: ✭ 48 (+50%)
Mutual labels:  competitive-programming, codeforces
algovault
Algorithms and templates for competitive programming
Stars: ✭ 67 (+109.38%)
Mutual labels:  competitive-programming, codeforces
USACO
Algorithms, data structures, and problems in competitive programming up to USACO Platinum
Stars: ✭ 34 (+6.25%)
Mutual labels:  competitive-programming, codeforces
codeforces2pdf
Light tool to extract CodeForces problems into PDF files
Stars: ✭ 18 (-43.75%)
Mutual labels:  competitive-programming, codeforces
codeforces-timer
A Google Chrome extension which adds a timer to practice timed problem solving on codeforces
Stars: ✭ 20 (-37.5%)
Mutual labels:  competitive-programming, codeforces
vjudge-to-oj
Import your vJudge solutions to actual online judges. Currently supports UVa, CodeForces, SPOJ, and CodeForces GYM.
Stars: ✭ 43 (+34.38%)
Mutual labels:  competitive-programming, codeforces
CP
Competitive Coding
Stars: ✭ 25 (-21.87%)
Mutual labels:  competitive-programming, codeforces
competitive-programming
Roadmap to learn data structures, algorithms, mathematics, dynamic programming to beat in competitive programming, or crack any interview.
Stars: ✭ 21 (-34.37%)
Mutual labels:  competitive-programming, codeforces
Catalyst
A VS code Extension to accelerate the process of solving problems on Codeforces.
Stars: ✭ 69 (+115.63%)
Mutual labels:  competitive-programming, codeforces

cpt

Go Report Card GitHub

Short for competitive programming tool, cpt is an extensively configurable, feature rich, yet lightweight command line tool, to automate the mundane stuff in competitive coding (don't we hate repetitive tasks?)

Built by CP'ers, built for CP'ers!

Written in GO, the compiled executable is cross platform, standalone (no external dependencies) and minuscule in size.

Don't forget to star the project if you found it useful. 😄

Table of Contents

Overview

Started as a casual fork of xalanq/cf-tool, and with heavy inspiration from online-judge-tools/oj, this project was brought to life. The project follows the KISS principle, making the user experience as smooth as possible.

Uses cp-tools/cpt-lib as the back end to handle and process website related tasks. The back end uses browser automation with the current browser session, doing away with any account setup related hassles.

A non-exhaustive list of notable features of this project are:

  • Fetch sample test cases of a problem from the website.
  • Manage code templates and create new code files with ease.
  • Compile, run and validate solution code against sample tests.
  • Multitude of default checkers, with the ability to use your own.
  • Submit solution to server, and view real time verdict status of the submission.
  • List contests, submissions and other tabulated data directly on the terminal.
  • Provides the ability to dynamically auto complete shell commands.
  • Flexible configurations, at the global, sub-module and local directory level.
  • Ability to automatically upgrade to the latest version, once installed.
  • and much, much more...

This list is severely incomplete, and the best way to acquaint yourself with all the available features is by downloading and using the tool (refer instructions below). You'll fall in love with it, I promise! 😍

Getting Started

Installation

The following instructions are only for first time users. Existing users can use cpt upgrade to upgrade the tool to the latest GitHub released version.

Download the tarball corresponding to your system from the latest release page. Extract the binary file (executable) to a suitable folder registered as a system path, to run the executable from any directory.

Alternatively, you can compile the executable from source.

git clone https://github.com/cp-tools/cpt.git && cd cpt
go build -ldflags "-s -w"

You will also require checkers to test (with the command cpt test) your solution code against. A set of default testlib checkers (maintained at cp-tools/cpt-checker) can be downloaded and installed using the command cpt upgrade -mc.

Usage

⚠️ Comprehensive documentation is underway (coming soon). ⚠️

📣 Please contribute in making the wiki documentation better!

FAQ

What is the minimal setup needed to access all core features?

There are 2 configurations that need to be done, in order to use all functionalities.

  • Headless browser - Run cpt config - select browser - set headless browser - follow the instructions to configure the browser data (and cookies) to use.
  • Template - Run cpt config - select template - add new - follow the template generation wizard to complete setting up the template. Also, to map the template to a language on a website, run cpt <website> config - select template - set language - select the corresponding template and set the language name (on the website) that it corresponds to.

With these configurations done, all provided functionalities are usable.

How do I configure tab autocompletion?

Run the below command and follow the instructions to enable it.

cpt completion --help

Windows (powershell) users may refer to this for installation instructions.

Note that, the tab completion must be configured every time a new command is added.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].