No project description provided
Project description
The go-to CLI tool for programming competitions setters.
Overview
rbx is a CLI tool that empowers setters from the competitive programming community.
A flexible setting tool, as powerful as Polygon, right on your terminal.
Features
- 🧱 Structure: describe your problem or contest structure with the use of YAML configuration files.
- 🤖 Generation: provides a simple way to describe your whole testset, including both manually added and generated testcases.
- 🔨 Testing: provides commands for automatically running correct and incorrect solutions against the testcases of your problem, automatically judging whether the verdict was as expected or not.
- ✅ Verify: checks if your testcases and solutions are strictly conformant with the use of validators and unit tests.
- 📝 Statements: provides tooling for writing and building statements, also ensuring they're easily synchronized with your testset.
- 📤 Package: provides a single command for packaging your problems for use in your preferred judge system.
Documentation
You can read the docs here.
Contributing
Prerequisites
Getting Started
git clone https://github.com/rsalesc/rbx.git
cd rbx
mise run sync
pre-commit install
Common Tasks
All development commands are run through mise:
| Command | Description |
|---|---|
mise run sync |
Install/sync all dependencies |
mise run lock |
Regenerate uv.lock |
mise run lint |
Run linter |
mise run lint-fix |
Run linter with auto-fix |
mise run format |
Format code |
mise run format-check |
Check formatting without changes |
mise run check |
Run all checks (lint + format) |
mise run test |
Run tests (excludes e2e/slow/docker) |
mise run test-cov |
Run tests with coverage |
mise run test-e2e |
Run e2e tests |
mise run build |
Clean build the package |
Run mise tasks to see all available tasks.
Code Style
- Single quotes for strings
- Absolute imports only — no relative imports
- Conventional Commits — enforced by pre-commit hook
All style rules are enforced automatically by pre-commit hooks (ruff check, ruff format, commitizen).
Submitting Changes
- Create a branch from
main - Make your changes
- Run
mise run checkandmise run test - Commit using Conventional Commits format
- Open a pull request
License
This project is protected under the Apache License 2.0 License. For more details, refer to the LICENSE file.
Project details
Release history Release notifications | RSS feed
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 rbx_cp-0.28.1.tar.gz.
File metadata
- Download URL: rbx_cp-0.28.1.tar.gz
- Upload date:
- Size: 5.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fce12209c622d0e93dcda16f83075f5a790a38076ca32ab530f2543c8b50fbd6
|
|
| MD5 |
52dcf63b0be590ca69dbac799f9feb3c
|
|
| BLAKE2b-256 |
00a46bea93d79d085265df6a4ee08feda46a12d187c5c9c3b8c7c5049ae035ae
|
File details
Details for the file rbx_cp-0.28.1-py3-none-any.whl.
File metadata
- Download URL: rbx_cp-0.28.1-py3-none-any.whl
- Upload date:
- Size: 887.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
780bbab6bc76fc10254502accbfdb10e2be27041ba539eb52fa2a81a2c404655
|
|
| MD5 |
fbac76249f13a676ce958d68d1859359
|
|
| BLAKE2b-256 |
e0f3c2495a7307cd888c3d5ea7eb27806599d2e609e21c1942919a7ee7c241ab
|