This release is a pre-release and may not be stable for production use.
ojkit: Online Judge Kit
A lightweight command-line toolkit for competitive programming.
ojkit lets you browse Codeforces problems by rating, create a ready-to-use C++ workspace, fetch sample test cases, and run your solution against them.
Alpha: ojkit is currently under active development. Features and CLI behavior may change.
Features
- Browse Codeforces problems by rating
- Fuzzy-search problems from the terminal
- Automatically create a C++ source file
- Automatically fetch sample test cases
- Compile solutions using
g++ - Run solutions against all sample tests
- Simple
ojkit runworkflow - Cross-platform Python CLI
Installation
ojkit requires Python 3.10 or newer.
pip install --pre ojkit
A C++ compiler (g++) is currently required for running solutions.
Usage
Find a problem
ojkit
By default, ojkit searches for 800-rated Codeforces problems.
Specify another rating with:
ojkit -r 1200
Select a problem using the fuzzy finder and ojkit will create a workspace such as:
~/codeforces/4/A/
├── A.cpp
└── tests/
├── input1.txt
├── output1.txt
├── input2.txt
└── output2.txt
Run a solution
Enter the generated problem directory:
cd ~/codeforces/4/A
Then run:
ojkit run
ojkit will compile the C++ solution using g++ and run it against the downloaded sample test cases.
Example:
✓ Compiled successfully
Test 1: PASS
Test 2: PASS
Development
Clone the repository:
git clone https://github.com/YOUR_USERNAME/ojkit.git
cd ojkit
Install it in editable mode:
pip install -e .
Changes to the Python source will then be reflected immediately when running:
ojkit
Status
ojkit is currently in alpha.
Current version:
0.1.0a1
The initial releases focus on Codeforces and C++ support. More online judges, languages, configuration options, and runner improvements may be added later.
License
MIT Online Judge Kit
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 ojkit-0.1.0a1.tar.gz.
File metadata
- Download URL: ojkit-0.1.0a1.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7150932a50d5a739defffb6934a01f5f697fa25734a85d173071e68ffec516dd
|
|
| MD5 |
dfd27769187c0c6184c10f9dedb20384
|
|
| BLAKE2b-256 |
4c65cedb77abcbedadb64864ffd9464f2657ad89fbcb4739186b90975eb2139e
|
File details
Details for the file ojkit-0.1.0a1-py3-none-any.whl.
File metadata
- Download URL: ojkit-0.1.0a1-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ca3e603d6cbf9ccf85d26eb8ba8e0fc396e3f73ddc84da1c6a45c21e7b260f2
|
|
| MD5 |
83fb772c1ba1abf4932a6d5224138414
|
|
| BLAKE2b-256 |
a41705b29924aede48c2dd4936eda5b8d6896573f3c7a0f4d02fe5dfc46dde7a
|