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
Shortcut-Maker - It is a tool that can be set to run any tool with a single command

Shortcut-Maker It is a tool that can be set to run any tool with a single command Coded by Dave Smith(Owner of Sl Cyber Warriors) Command list 👇 pkg

Dave Smith 10 Sep 14, 2022
argofloats: Simple CLI for ArgoVis and Argofloats

argofloats: Simple CLI for ArgoVis and Argofloats Argo is an international program that collects information from inside the ocean using a fleet of ro

Samapriya Roy 2 Feb 13, 2022
Proman is a simple tool for managing projects through cli.

proman proman is a project manager. It helps you manage your projects from a terminal. The features are listed below. Installation Step 1: Download or

Arjun Somvanshi 2 Dec 06, 2021
gget is a free and open-source command-line tool and Python package that enables efficient querying of genomic databases.

gget is a free and open-source command-line tool and Python package that enables efficient querying of genomic databases. gget consists of a collection of separate but interoperable modules, each des

Pachter Lab 570 Dec 29, 2022
MiShell is a multi-platform, multi-architecture project based on the first version (MiShell32)

MiShell is a multi-platform, multi-architecture project based on the first version (MiShell32), which offers super super small reverse shell payloads great for injection in buffer overflow vulnerabil

Kamyar Hatamnezhad 0 Oct 27, 2022
CLI tool that helps manage shell libraries.

shmgr CLI tool that helps manage shell libraries. Badges 📛 project status badges: version badges: tools / frameworks used by test suite (i.e. used by

Bryan Bugyi 0 Dec 15, 2021
Openstack bucket retention cli

Openstack bucket retention cli

Fatih Sarhan 3 Apr 03, 2022
Navigate torrents in CLI with Mariner.

Navigate torrents in CLI with Mariner. It offers a simple interface for streamlined experience. No more annoying ads and pop-up windows.

2 Oct 20, 2021
Neovim integration for Google Keep, built using gkeepapi

Gkeep.nvim Neovim integration for Google Keep, built using gkeepapi Requirements Neovim 0.5 Python 3.6+ A patched font (optional. Used for icons) Tabl

Steven Arcangeli 143 Jan 02, 2023
Play videos in the terminal.

Termvideo Play videos in the terminal (stdout). python main.py /path/to/video.mp4 Terminal size: -x output_width, -y output_height. Default autodetect

Patrick 11 Jun 13, 2022
🎮 An easy to use tool to change the mapping of your input device buttons.

Input Remapper Formerly Key Mapper An easy to use tool to change the mapping of your input device buttons. Supports mice, keyboards, gamepads, X11, Wa

Tobi 1.9k Jan 05, 2023
An open-source CLI tool for backing up RDS(PostgreSQL) Locally or to Amazon S3 bucket

An open-source CLI tool for backing up RDS(PostgreSQL) Locally or to Amazon S3 bucket

1 Oct 30, 2021
Double Pendulum visualised with fetching system information in Python.

Show off your terminal, in style. A nice relaxing double pendulum simulation using ASCII, able to simulate multiple pendulums at once, and provide tra

Nekurone 62 Dec 14, 2022
A command line utility for tracking a stock market portfolio. Primarily featuring high resolution braille graphs.

A command line stock market / portfolio tracker originally insipred by Ericm's Stonks program, featuring unicode for incredibly high detailed graphs even in a terminal.

Conrad Selig 51 Nov 29, 2022
pls is a better ls for developers, pronounced /pliːz/ as in 'please'

pls is a better ls for developers. The "p" stands for ("pro" as in "professional"/"programmer") or "prettier". It works in a manner similar to ls, in

Dhruv Bhanushali 572 Dec 28, 2022
Seamlessly run Python code in IPython from Vim

Seamlessly run Python code from Vim in IPython, including executing individual code cells similar to Jupyter notebooks and MATLAB. This plugin also supports other languages and REPLs such as Julia.

Hans Chen 269 Dec 20, 2022
A CLI application for storing contacts as a csv file written in Python.

Contacter A CLI application for storing contacts as a csv file written in Python. You can use this to save your contacts with a special relations tag

nostalgicnerdpenguin 1 Oct 23, 2021
Kubernetes shell: An integrated shell for working with the Kubernetes

kube-shell Kube-shell: An integrated shell for working with the Kubernetes CLI Under the hood kube-shell still calls kubectl. Kube-shell aims to provi

CloudNative Labs 2.2k Jan 08, 2023
A supercharged AWS command line interface (CLI).

SAWS Motivation AWS CLI Although the AWS CLI is a great resource to manage your AWS-powered services, it's tough to remember usage of: 70+ top-level c

Donne Martin 5.1k Jan 05, 2023
This is a CLI program which can help you generate your own QR Code.

Python-QR-code-generator This is a CLI program which can help you generate your own QR Code. Single.py This will allow you only to input a single mess

1 Dec 24, 2021