A next-generation CLI and TUI that aims to be your personal assistant for everything competitive programming related. 🚀

Overview

Competitive Programming Tool Kit

The Competitive Programming Tool Kit (cptk for short), is a command line and terminal user interface (CLI and TUI) that aims to be your personal assistant for everything competitive programming related. Some of the main features of cptk are:

  • Supports all large CP websites, like https://codeforces.com and https://cses.fi
  • Automatically download and run example test cases
  • Manage and catalog your CP folder structure
  • Full git integration: commits and pushes solutions after you submit them
  • And much more!
Comments
  • Selenium session saving

    Selenium session saving

    Logging into the websites again and again every time can be quite annoying. To avoid it, we can:

    • Save the browser session, and load the same one every time cptk lanches.
    • Use the default session of the user, stored in
    • Store login credentials manually and automatically login for the user
    enhancement 
    opened by RealA10N 1
  • Support directory renaming

    Support directory renaming

    If the user renames the folder structure of already existing problems, cptk should be smart and create new problems with the same relative path in the new, renamed subdirectory. For example, if there is a problem from cses.fi located inside introductory-problems/trailing-zeros and the user decides to rename the directory to something like intro/trailing-zeros, other problems from the "Introductory Problems" section in the problem set should be cloned into the new intro subdirectory instead of the old introductory-problems one.

    enhancement 
    opened by RealA10N 0
  • Better unexpected error traceback

    Better unexpected error traceback

    Currently, the traceback for unexpected errors lacks information and in my option, the default python one is better. I would like to print out the default traceback (or something that is very similar to it) with an additional bold line that states that an unexpected error has occurred.

    This solution is great for Python developers and users that aren't familiar with Python:

    • Python developers that are using cptk will be familiar with the default Python traceback and will be able to figure out what is the problem if they want to.
    • Other users will see the bold statement which states that an unexpected error has occurred, and then they will be able to report the issue if they want to.

    The error message should also print some information about the current Python version, and information about the version of cptk.

    enhancement 
    opened by RealA10N 0
  • Inconsistent slash usage in windows

    Inconsistent slash usage in windows

    When using the clone subcommand the resulting path is printed with inconsistent slashes, for example:

    PS> cptk clone https://cses.fi/problemset/task/1068
    D:\Projects\tomer-cptk\cses-fi/cses-problem-set/weird-algorithm/
    
    bug 
    opened by tomergan 0
  • Use streams with `cptk test`

    Use streams with `cptk test`

    Currently, tests with large input and outputs will get loaded into memory and will take a very long time to compare. We should use the output stream to compare the output of the execution to the expected output file online

    enhancement 
    opened by RealA10N 0
  • Clone problems to a temporary directory

    Clone problems to a temporary directory

    Clone a problem into a new temporary directory. In this directory, run the preprocessor and other third-party plugin hooks, and only then copy the directory into the final destination (and raise warnings if some files are overwritten).

    enhancement 
    opened by RealA10N 0
Releases(v0.1.0a3)
Owner
Alon
17 y/o student that enjoys programming 👨‍💻
Alon
vimBrain is a brainfuck-based vim-inspired esoteric programming language.

vimBrain vimBrain is a brainfuck-based vim-inspired esoteric programming language. vimBrainPy Currently, the only interpreter available is written in

SalahDin Ahmed 3 May 08, 2022
A Python module and command line utility for working with web archive data using the WACZ format specification

py-wacz The py-wacz repository contains a Python module and command line utility for working with web archive data using the WACZ format specification

Webrecorder 14 Oct 24, 2022
Pyrdle - Play Wordle in the CLI. Write an algorithm to play Wordle for you. Ruin all of the fun you've been having

Pyrdle - Play Wordle in the CLI. Write an algorithm to play Wordle for you. Ruin all of the fun you've been having

Charles Tapley Hoyt 11 Feb 11, 2022
Baseline is a cross-platform library and command-line utility that creates file-oriented baselines of your systems.

Baselining, on steroids! Baseline is a cross-platform library and command-line utility that creates file-oriented baselines of your systems. The proje

Nelson 4 Dec 09, 2022
Interact with Replit remotely with the Replit CLI

Replit CLI pip install repl-cli Welcome to Replit CLI! With the Replit CLI Application, you can work with your repls locally, including clone, pull,

Shuchir Jain 4 Aug 18, 2022
A simple command line chat app to communicate via the terminal.

A simple command line chat app to communicate via the terminal. I'm new to networking so sorry if some of my terminology or code is messed up.

PotNoodle 1 Oct 26, 2021
asciinema - Terminal session recorder 📹

asciinema - Terminal session recorder 📹

asciinema 11.1k Dec 27, 2022
A user-friendly python CLI for Fmask 4.3 software (GERS Lab, UCONN).

pyFmask What is pyFmask pyFmask is a user-friendly python CLI for Fmask 4.3 software (GERS Lab, UCONN; https://github.com/GERSL/Fmask). Fmask (Zhu et

1 Jan 05, 2022
WA Terminal is a CLI application that allows us to login and send message with WhatsApp with a single command.

WA Terminal is a CLI application that allows us to login and send message with WhatsApp with a single command.

Aziz Fikri 15 Apr 15, 2022
A python library for parsing multiple types of config files, envvars & command line arguments that takes the headache out of setting app configurations.

parse_it A python library for parsing multiple types of config files, envvars and command line arguments that takes the headache out of setting app co

Naor Livne 97 Oct 22, 2022
CLI tool to show the current crypto balance

CryptoBoard The simple python CLI tool for one currency to show the current crypto balance yours purchases. That's all. Data source is from https://ww

John 2 Nov 18, 2021
Helping you manage your data science projects sanely.

PyDS CLI Helping you manage your data science projects sanely. Requirements Anaconda/Miniconda/Miniforge/Mambaforge (Mambaforge recommended!) git on y

Eric Ma 16 Apr 25, 2022
term2048 is a terminal-based version of 2048.

term2048 is a terminal-based version of 2048.

Baptiste Fontaine 798 Nov 21, 2022
You'll never want to use cd again.

Jmp Description Have you ever used the cd command? You'll never touch that outdated thing again when you try jmp. Navigate your filesystem with unprec

Grant Holmes 21 Nov 03, 2022
texel - Command line interface for reading spreadsheets inside terminal

texel - Command line interface for reading spreadsheets inside terminal. Sometimes, you have to deal with spreadsheets. Those are sad times. Fortunate

128 Dec 19, 2022
A VIM-inspired filemanager for the console

ranger 1.9.3 ranger is a console file manager with VI key bindings. It provides a minimalistic and nice curses interface with a view on the directory

12.6k Dec 30, 2022
Ntfy - 🖥️📱🔔 A utility for sending notifications, on demand and when commands finish.

About ntfy ntfy brings notification to your shell. It can automatically provide desktop notifications when long running commands finish or it can send

Daniel Schep 4.5k Jan 01, 2023
Enriches Click with option groups, constraints, command aliases, help sections for subcommands, themes for --help and other stuff.

Enriches Click with option groups, constraints, command aliases, help sections for subcommands, themes for --help and other stuff.

Gianluca Gippetto 62 Dec 22, 2022
Microsoft Azure CLI - Azure Command-Line Interface

A great cloud needs great tools; we're excited to introduce Azure CLI, our next generation multi-platform command line experience for Azure.

Microsoft Azure 3.4k Dec 30, 2022
Command-line tool for downloading and extending the RedCaps dataset.

Command-line tool for downloading and extending the RedCaps dataset.

RedCaps dataset 33 Dec 14, 2022