Skip to main content

Your personal assistant for everything competitive-programming-related.

Project description

Competitive Programming Tool Kit

cptk PyPI pre-commit.ci status GitHub Workflow codecov

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

  • Supports all large competitive programming websites, including codeforces.com, cses.fi and kattis.com
  • Automatically download and run example test cases
  • Manage and catalog the solutions in your competitive programming folder
  • Full git integration: commits and pushes solutions after you submit them
  • And much more!

Are you using cptk? Show us love and display the cptk badge in your repository!

Getting started

Installation

The Competitive Programming Tool Kit is implemented fully in Python and is distributed using the Python Package Index (PyPI).

To use cptk make sure you have CPython>=3.7 installed. Then, install cptk using pip:

pip install cptk

You can check that the installation went successfully by running:

cptk --help

If you are experiencing problems while installing cptk, check out the more detailed Installation Guide.

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.1.0a3 - 28.2.2022

Fixed

  • Default configurations and project structures are now bundled with the wheel release.
    • This resolves an UNEXPECTED ERROR when trying to run the cptk init subcommand for wheel installs (including ones provided by pip from PyPI).

0.1.0a2 - 26.2.2022

This alpha release adds the cptk test subcommand to cptk! 🥳

Starting from this release the project configuration files supports a new field called test. It will be automatically created for you when you initialize a new cptk project using cptk init, and using it cptk will know where to store the scraped sample tests when cloning problems.

By default, running cptk test will try and run the tests for the last problem that is known to cptk. It is also easy to add your custom test cases that will run when executing cptk test: just add .in and .out text files to the problem's testing folder!

For more information and a full tutorial on the cptk test subcommand, you are more than welcome to visit our wiki page.

Added

  • The cptk test subcommand!
    • Optional test field for each recipe in the recipes.cptk.yaml configuration file
    • Optional clone.recipe.test field in the project.cptk.yaml configuration file

0.1.0a1 - 16.2.2022

Fixed

  • Default templates are now bundled with the package, which fixes the bug in cptk init.

0.1.0a0 - 15.2.2022

The first (alpha) release of cptk! 🥳 Feel free to use the software and report any bugs that you find! Enjoy and have a nice day! 😃

Added

  • Supported commands are: cptk initialize, cptk clone, cptk move, cptk bake and cptk serve.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cptk-0.1.0a3.tar.gz (29.5 kB view hashes)

Uploaded Source

Built Distribution

cptk-0.1.0a3-py3-none-any.whl (35.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page