Skip to main content

rbx

The go-to CLI tool for programming competitions setters.

Python FastAPI JSON


Table of Contents

AI Disclaimer

This repo was written until 2026 (~1400 commits) without the use of AI. Thus, the meaty part of the tool was written by a human that (hopefully) know what they're doing. Using AI, though, was proved to be much more efficient and less error prone if a human was kept in the loop. All AI features developed in this tool pass through a PR review and are carefully reviewed by the owner. This helps the owner maintain the project with less time, and implement more useful features in an efficient way (UI features, nice-to-have features, etc).

The owner plans to NOT USE AI for the execution engine of the tool: running solutions, generating tests, etc. These are critical parts of the tool that don't need to change that much, and should be kept stable.

Overview

GitHub license PyPI pyversions PyPI version shields.io

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

  • Python 3.9+
  • uv — package manager
  • mise — task runner

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

  1. Create a branch from main
  2. Make your changes
  3. Run mise run check and mise run test
  4. Commit using Conventional Commits format
  5. Open a pull request

License

This project is protected under the Apache License 2.0 License. For more details, refer to the LICENSE file.


Return


Metadata

Release files for rbx-cp 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rbx-cp 1.0.0
File Size Uploaded
rbx_cp-1.0.0.tar.gz 1.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for rbx-cp 1.0.0
File Interpreter ABI Platform
rbx_cp-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.1 MB

Release files / rbx_cp-1.0.0.tar.gz

Download URL rbx_cp-1.0.0.tar.gz
Size 1.9 MB
Tags Source
SHA-256 checksum
How to use checksums
e5d366fc4453a91a41ec807b4e4384f1b3f3c1af4304d682d72e2548d7b16972
BLAKE2b-256 checksum
How to use checksums
3c4b20203d9340e0b56c3fd124d2afa63b3780688ddb1ea50fe5e6239aa0c3f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.14

Release files / rbx_cp-1.0.0-py3-none-any.whl

Download URL rbx_cp-1.0.0-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
71d5efe3e0e9e77f227d5791ca0f1f8fa5f3842e1b130e5f5c18ddb3eb096724
BLAKE2b-256 checksum
How to use checksums
e4c20740289e74504127d77c866d214662e7db6642bc3a9763898cdc18322f6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.14

Release history Release notifications | RSS feed

2.3.2

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.2

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.5.0

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

This release

1.0.0 This release

2 release files

0.38.2

2 release files

0.37.1

1 release file

0.37.0

1 release file

0.36.0

1 release file

0.35.1

2 release files

0.35.0

2 release files

0.34.1

2 release files

0.34.0

2 release files

0.33.0

2 release files

0.32.0

2 release files

0.30.0

2 release files

0.29.2

2 release files

0.29.1

2 release files

0.28.2

2 release files

0.28.1

2 release files

0.28.0

2 release files

0.27.0

2 release files

0.26.0

2 release files

0.25.4

2 release files

0.25.2

2 release files

0.25.1

2 release files

0.23.8

2 release files

0.23.7

2 release files

0.23.6

2 release files

0.23.5

2 release files

0.23.4

2 release files

0.23.3

2 release files

0.23.2

2 release files

0.23.0

2 release files

0.22.2

2 release files

0.22.0

2 release files

0.21.4

2 release files

0.21.3

2 release files

0.21.0

2 release files

0.19.9

2 release files

0.19.8

2 release files

0.19.7

2 release files

0.19.6

2 release files

0.19.4

2 release files

0.18.9

2 release files

0.18.8

2 release files

0.18.7

2 release files

0.17.6

2 release files

0.17.5

2 release files

0.17.4

2 release files

0.17.3

2 release files

0.17.2

2 release files

0.17.1

2 release files

0.17.0

2 release files

0.16.4

2 release files

0.16.2

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.14.0

2 release files

0.13.8

2 release files

0.13.7

2 release files

0.13.6

2 release files

0.13.5

2 release files

0.13.4

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.73

2 release files

0.5.72

2 release files

0.5.71

2 release files

0.5.70

2 release files

0.5.69

2 release files

0.5.68

2 release files

0.5.67

2 release files

0.5.66

2 release files

0.5.65

2 release files

0.5.64

2 release files

0.5.63

2 release files

0.5.54

2 release files

0.5.53

2 release files

0.5.52

2 release files

0.5.51

2 release files

0.5.50

2 release files

0.5.49

2 release files

0.5.48

2 release files

0.5.47

2 release files

0.5.46

2 release files

0.5.45

2 release files

0.5.44

1 release file

0.5.39

2 release files

0.5.38

2 release files

0.5.37

2 release files

0.5.36

2 release files

0.5.35

2 release files

0.5.34

2 release files

0.5.33

2 release files

0.5.32

2 release files

0.5.31

2 release files

0.5.30

2 release files

0.5.29

2 release files

0.5.28

2 release files

0.5.27

2 release files

0.5.26

2 release files

0.5.25

2 release files

0.5.24

2 release files

0.5.23

2 release files

0.5.22

2 release files

0.5.21

2 release files

0.5.20

2 release files

0.5.19

2 release files

0.5.18

2 release files

0.5.17

2 release files

0.5.16

2 release files

0.5.15

2 release files

0.5.14

2 release files

0.5.13

2 release files

0.5.9

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page