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
Password manager for the CLI simps.

CLI Password Manager Password manager for the CLI simps. Free software: MIT license

1 Dec 30, 2021
Convert shellcode into :sparkles: different :sparkles: formats!

Bluffy Convert shellcode into ✨ different ✨ formats! Bluffy is a utility which was used in experiments to bypass Anti-Virus products (statically) by f

pre.empt.dev 305 Dec 17, 2022
pwy - A simple weather tool.

A simple weather tool. I made this as a way for me to learn Python, API, and PyPi packaging. Name changed from wwy to pwy.

Clint 105 Dec 31, 2022
Simple CLI for managing Postgres databases in Flask.

Overview Simple CLI that provides the following commands: flask psql create flask psql init flask psql drop flask psql setup: create β†’ init flask psql

Daniel Reeves 21 Oct 03, 2022
A simple cli tool to commit Conventional Commits

convmoji A simple cli tool to commit Conventional Commits. Requirements Install pip install convmoji convmoji --help Examples A conventianal commit co

3 Jul 04, 2022
GoogleFormSpammer - A simple CLI script to spam Google Forms used by Crypto Wallet scammers to collect stolen data

GoogleFormSpammer - A simple CLI script to spam Google Forms used by Crypto Wallet scammers to collect stolen data

14 Dec 17, 2022
CLI tool for one-line installation of C++/CMake projects.

cmakip When working on virtual environments, Python projects can be installed with a single command invocation, for example pip install --no-deps . .

Artificial and Mechanical Intelligence 4 Feb 15, 2022
Juniper Command System is a Micro CLI Tool that allows you to manage your files, launch applications, as well as providing extra tools for OS Management.

Juniper Command System is a Micro CLI Tool that allows you to manage your files, launch applications, as well as providing extra tools for OS Management.

Juan Carlos JuΓ‘rez 1 Feb 02, 2022
Animefetch is an anime command-line system information tool written in python

Animefetch - v0.0.3 An anime command-line system information tool written in python. Description Animefetch is an anime command-line system informatio

Thadeuks 6 Jun 17, 2022
Salesforce object access auditor

Salesforce object access auditor Released as open source by NCC Group Plc - https://www.nccgroup.com/ Developed by Jerome Smith @exploresecurity (with

NCC Group Plc 90 Sep 19, 2022
a GUI app base on warp-cli for linux

warp cloudflare gui a GUI app base on warp-cli for linux Installation read warp-cli install doc. install warp-cli and register with $ warp-cli registe

Moein Aghamirzaei 58 Jan 01, 2023
Library and command-line utility for rendering projects templates.

A library for rendering project templates. Works with local paths and git URLs. Your project can include any file and Copier can dynamically replace v

808 Jan 04, 2023
Official AIdea command line tool

AIdea CLI Official AIdea command line tool for https://aidea-web.tw. Installation Make sure you have installed both Python 3 and pip package manager.

AIdea 5 Dec 15, 2021
Simple CLI tool to track your cryptocurrency portfolio in real time.

Simple tool to track your crypto portfolio in realtime. It can be used to track any coin on the BNB network, even obscure coins that are not listed or trackable by major portfolio tracking applicatio

Trevor White 69 Oct 24, 2022
Several tools that can be added to your `PATH` to make your life easier.

CK-CLI Tools Several tools that can be added to your PATH to make your life easier. prettypath Prints the $PATH variable in a human-readable way. It a

Christopher Kumm 2 Apr 21, 2022
A very simple python script to encode and decode PowerShell one-liners.

PowerShell Encoder A very simple python script to encode and decode PowerShell one-liners. I used Raikia's PowerShell encoder ALOT, but one day it wen

John Tear 5 Jul 29, 2022
Plumbum: Shell Combinators

Plumbum: Shell Combinators Ever wished the compactness of shell scripts be put into a real programming language? Say hello to Plumbum Shell Combinator

Tomer Filiba 2.5k Dec 28, 2022
A dashboard for your Terminal written in the Python 3 language,

termDash is a handy little program, written in the Python 3 language, and is a small little dashboard for your terminal, designed to be a utility to help people, as well as helping new users get used

Rebecca White 2 Dec 03, 2021
spade is the next-generation networking command line tool.

spade is the next-generation networking command line tool. Say goodbye to the likes of dig, ping and traceroute with more accessible, more informative and prettier output.

Vivaan Verma 5 Jan 28, 2022
Display Images in your terminal with python

A python library to display images in the terminal

Pranav Baburaj 57 Dec 30, 2022