Skip to main content

No project description provided

Project description

rbx

The go-to CLI tool for programming competitions setters.

Python FastAPI JSON


Table of Contents

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


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

rbx_cp-0.32.0.tar.gz (5.0 MB view details)

Uploaded Source

Built Distribution

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

rbx_cp-0.32.0-py3-none-any.whl (956.8 kB view details)

Uploaded Python 3

File details

Details for the file rbx_cp-0.32.0.tar.gz.

File metadata

  • Download URL: rbx_cp-0.32.0.tar.gz
  • Upload date:
  • Size: 5.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.14

File hashes

Hashes for rbx_cp-0.32.0.tar.gz
Algorithm Hash digest
SHA256 c6e9773a81c7d93b68016f25a81d938aa797e15407b089763c29ab1425fd57b6
MD5 1ea68321dbe08932de4d01082d0bc501
BLAKE2b-256 e3274f11e60bcdc6cef2b90f4ecbf450933cb3d5e42d0c0510effc97bf61c07f

See more details on using hashes here.

File details

Details for the file rbx_cp-0.32.0-py3-none-any.whl.

File metadata

  • Download URL: rbx_cp-0.32.0-py3-none-any.whl
  • Upload date:
  • Size: 956.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.14

File hashes

Hashes for rbx_cp-0.32.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c4948eb7e30e1b5b5dfc4e38c37c6a8f2b3f4964df9254569e5695cb0a2c2480
MD5 dc9f1fab9dbf05c93f5b5da5ab2d967c
BLAKE2b-256 fac3c47ce9175bf5393a3b9f57e7082d89bbf7eae772e9f8732cb3ad1078da5c

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