Utilities for Competitive Programming
Project description
cputils
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9690bb0fb617cabd9ad38c1c82436315805fb2c063ef43d436581c34b4a0fd49
|
|
| MD5 |
0443f7641e824ebbea65403765335969
|
|
| BLAKE2b-256 |
44ecdb5089451032a7a2613ea981b969247a14f4a7b1f65f5664b80c00f29b0a
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ec14c3121736dcb25cd764193f31b0a7a9f78583490af2778a81b9135a029a8
|
|
| MD5 |
5b29d96ddd5e1681f3459c4142a6560f
|
|
| BLAKE2b-256 |
1f173c44c35407ee9560fdf9c1292420e7ec036b7ae1c652bd0eba9f8e1e3125
|