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
A simple file transfer tools, similar to rz / sz but compatible with tmux (control mode), which works with iTerm2 and has a nice progress bar

trzsz A simple file transfer tools, similar to rz/sz but compatible with tmux (control mode), which works with iTerm2 and has a nice progress bar. Why

561 Jan 05, 2023
Customisable pharmacokinetic model accessible via bash CLI allowing for variable dose calculations as well as intravenous and subcutaneous administration calculations

Pharmacokinetic Modelling Group Project A PharmacoKinetic (PK) modelling function for analysis of injected solute dynamics over time, developed by Gro

1 Oct 24, 2021
Spongebob-cli - Watch classic spongebob from the terminal

spongebob-cli Watch classic spongebob from the terminal! Thanks to everyone that

523 Jan 02, 2023
doq (python docstring generator) extension for coc.nvim

coc-pydocstring doq (python docstring generator) extension for coc.nvim Install CocInstall: :CocInstall coc-pydocstring vim-plug: Plug 'yaegassy/coc-p

yaegassy 27 Jan 04, 2023
πŸ–οΈThis is a feature-complete clone of the awesome Chalk (JavaScript) library.

Terminal string styling done right This is a feature-complete clone of the awesome Chalk (JavaScript) library. All credits go to Sindre Sorhus. Highli

Fabian Keller 132 Dec 27, 2022
Easily turn single threaded command line applications into a fast, multi-threaded application with CIDR and glob support.

Easily turn single threaded command line applications into a fast, multi-threaded application with CIDR and glob support.

Michael Skelton 1k Jan 07, 2023
Dark powered asynchronous completion framework for neovim/Vim8

deoplete.nvim Dark powered asynchronous completion framework for neovim/Vim8 Note: The development of this plugin is finished. Accepts minor patches a

Shougo 5.9k Dec 30, 2022
Generate an ASCII Art from keyword put in the cli

ascii-art-generator-cli Generate an ASCII Art from keyword put in the cli Install git clone https://github.com/Nathanlauga/ascii-art-generator-cli cd

Nathan Lauga 1 Nov 14, 2021
Pynavt is a cli tool to create clean architecture app for you including Fastapi, bcrypt and jwt.

Pynavt _____ _ | __ \ | | | |__) | _ _ __ __ ___ _| |_ | ___/ | | | '_ \ / _` \ \ / /

Alejandro Castillo 1 Dec 13, 2021
Magma is a NeoVim plugin for running code interactively with Jupyter.

Magma Magma is a NeoVim plugin for running code interactively with Jupyter. Requirements NeoVim 0.5+ Python 3.8+ Required Python packages: pynvim (for

Daniel Csillag 372 Dec 26, 2022
Projeto Reverse Shell For Python

Use com sabedoria!!! Modo de uso: Linux (inclui Android e Mac): - apt-get update - apt install python3 (ou "python" apenas) - git clone https://github

1 Jan 03, 2022
πŸƒ Python3 Solutions of All Problems in GCJ 2022 (In Progress)

GoogleCodeJam 2022 Python3 solutions of Google Code Jam 2022. Solution begins with * means it will get TLE in the largest data set. Total computation

kamyu 12 Dec 20, 2022
Open a file in your locally running Visual Studio Code instance from arbitrary terminal connections.

code-connect Open a file in your locally running Visual Studio Code instance from arbitrary terminal connections. Motivation VS Code supports opening

Christian Volkmann 56 Nov 19, 2022
Python Library and CLI for exporting MySQL databases

expdb Python library and CLI for exporting MySQL databases Installation Pre-requisites MySQL server Python 3.9+ Using git Clone the repository to your

Devansh Singh 1 Nov 29, 2021
Jupyter notebook client in neovim

πŸͺ Jupyter-Nvim Read jupyter notebooks in neovim Note: The plugin is still in alpha stage πŸ‘Ύ Usage Just open any *.ipynb file and voila! ✨ Contributin

Ahmed Khalf 85 Dec 29, 2022
Create argparse subcommands with decorators.

python-argparse-subdec This is a very simple Python package that allows one to create argparse's subcommands via function decorators. Usage Create a S

Gustavo JosΓ© de Sousa 7 Oct 21, 2022
A terminal tool for git. When we use git, do you feel very uncomfortable with too long commands

PIGIT A terminal tool for git. When we use git, do you feel very uncomfortable with too long commands. For example: git status --short, this project c

Zachary 1 Apr 09, 2022
Unpacks things.

$ unp_ unp is a command line tool that can unpack archives easily. It mainly acts as a wrapper around other shell tools that you can find on v

Armin Ronacher 405 Jan 03, 2023
A python package to display progress of loops to the user

ProgressBars A python package to display progress of loops to the user. Installation This package can be installed using pip. pip install progressbars

Matthias 3 Jan 16, 2022
Hack-All is a simple CLI tool that helps ethical-hackers to make a reverse connection without knowing the target device in use is it computer or phone

Hack-All is a simple CLI tool that helps ethical-hackers to make a reverse connection without knowing the target device in use is it computer

LightYagami17 5 Nov 22, 2022