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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file cptk-0.1.0a3.tar.gz.

File metadata

  • Download URL: cptk-0.1.0a3.tar.gz
  • Upload date:
  • Size: 29.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for cptk-0.1.0a3.tar.gz
Algorithm Hash digest
SHA256 de4662f7e67bc37c7aeb10aea3b9f3a6a858187e3a42e7e9c47d902c70284933
MD5 11b851f01fd097aaf6b1b3a3974828a0
BLAKE2b-256 6f172f6b57a4cb8a3c935845ab5075444380ab62012bfa37b28f3c5c47adb709

See more details on using hashes here.

File details

Details for the file cptk-0.1.0a3-py3-none-any.whl.

File metadata

  • Download URL: cptk-0.1.0a3-py3-none-any.whl
  • Upload date:
  • Size: 35.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for cptk-0.1.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 ef1189a28a8e2393b61f5cc7b82a2322019dd595d9a6c7bdbf7c000e9a6ab551
MD5 4a37b0623864330f50a93f237c1ba8d9
BLAKE2b-256 acc57e1390b62eabe4ddddcf6bc4d3011a2538d06caa295040a05f04f6dc167d

See more details on using hashes here.

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