#solution #automatic #problem #language #testing #submission #usaco

app usaco-cli

Unofficial USACO cli: Supports automatic solution testing and submission

5 releases (3 breaking)

0.4.0 Dec 6, 2024
0.3.0 Nov 24, 2024
0.2.1 Nov 15, 2024
0.2.0 Nov 15, 2024
0.1.0 Nov 11, 2024

#848 in Command line utilities

Download history 317/week @ 2024-11-11 146/week @ 2024-11-18 30/week @ 2024-11-25 162/week @ 2024-12-02 78/week @ 2024-12-09

432 downloads per month

GPL-3.0-or-later

1MB
2K SLoC

usaco-cli

GitHub Release GitHub Actions Workflow Status Crates.io Version GitHub License GitHub commit activity

demo gif

A command line tool for USACO

Features:

  • Account information
  • View problem info from command line
  • Scaffold solution code
  • Automatically test solutions with sample input cases
  • View solution stats and find new problems to solve (coming soon)

Supported languages:

  • C++ 17
  • Python 3

[!WARNING] This is an unofficial tool, and is neither endorsed nor supported by USACO.

I would not recommend using this during official competitions.

I am not responsible for any consequences from using this tool.

Installation

Source

  1. Clone this repo
  2. cargo build --release

crates.io

  1. cargo install usaco-cli

Binaries

Prebuilt binaries for x86_64-unknown-linux-gnu, aarch64-apple-darwin, and x86_64-pc-windows-msvc are provided on the Releases page

Make a GH issue if you want more targets

Usage

$ usaco --help
USACO command-line interface: supports viewing problem info, automatically testing solutions, and viewing test case diffs.

Usage: usaco [OPTIONS] <COMMAND>

Commands:
  auth         Manage USACO account authentication
  problem      View problem info
  solution     Manage and test solutions
  preferences  Manage CLI preferences
  completion   Generate shell completion files
  ping         Test connection to USACO servers
  help         Print this message or the help of the given subcommand(s)

Options:
  -l, --log-level <LOG_LEVEL>
          Maximum logging level

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version

Dependencies

~19–34MB
~531K SLoC