Skip to main content

Utilities for Competitive Programming

Project description

cputils

license MIT

Utilities for Competitive Programming.

Features:

  • Download samples from kattis, aceptaelreto, adventofcode.
  • Test in c, cpp, python, java, rust, ruby, bash, nim.
  • Submit to kattis.
  • Interactive CLI menu.

Tests only for complete textual match, ignoring leading and trailing whistespaces.

Installation

Assuming you have a Python3 distribution with pip, install the package running:

pip3 install cputils

Usage

Typically you'll want to work on a dedicated repo/folder for your task (solving the problems in a server, preparing problems...). You should first create a configuration file defining how cputils will work on that repo/folder and then use the CLI or the commands to work in it.

cpconfig

To create a config file, run

cpconfig

cpsamples

To download the samples of a problem run

cpsamples <problem>

cptest

To test a solution or set of solutions run

cptest <problem>/<solution(s)>

Pro-tip: you can use glob patterns like problem/code* or problem/*.py.

cpsubmit

To submit a solution (only kattis)

cpsubmit <problem>/<solution(s)>

cpmenu

To run an interactive CLI

cpmenu

Yo can also provide the problem and language with the arguments, or change it in the menu. See help (h) for more info.

Development

Testing

Testing requires installing the test extra. Furthermore, some tests require the languages to be installed and available.

To run all tests:

make test

To run a single test module:

pytest tests/test_<test_name>.py

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

cputils-0.6.0.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cputils-0.6.0-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file cputils-0.6.0.tar.gz.

File metadata

  • Download URL: cputils-0.6.0.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for cputils-0.6.0.tar.gz
Algorithm Hash digest
SHA256 9690bb0fb617cabd9ad38c1c82436315805fb2c063ef43d436581c34b4a0fd49
MD5 0443f7641e824ebbea65403765335969
BLAKE2b-256 44ecdb5089451032a7a2613ea981b969247a14f4a7b1f65f5664b80c00f29b0a

See more details on using hashes here.

File details

Details for the file cputils-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: cputils-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for cputils-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2ec14c3121736dcb25cd764193f31b0a7a9f78583490af2778a81b9135a029a8
MD5 5b29d96ddd5e1681f3459c4142a6560f
BLAKE2b-256 1f173c44c35407ee9560fdf9c1292420e7ec036b7ae1c652bd0eba9f8e1e3125

See more details on using hashes here.

Supported by

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