Skip to content

icpc-jag/rime

Folders and files

NameName
Last commit message
Last commit date
Sep 11, 2023
Aug 30, 2024
Feb 11, 2019
Jul 20, 2020
Sep 8, 2024
Aug 29, 2024
Sep 26, 2017
Oct 15, 2020
Sep 30, 2018
May 16, 2021
Sep 30, 2018
May 16, 2021
Sep 11, 2023

Repository files navigation

Rime

status

Rime is a tool for programming contest organizers to automate usual, boring and error-prone process of problem set preparation. It supports various programming contest styles like ACM-ICPC, TopCoder, etc. by plugins.

Detailed documentations (in Japanese) are found at documentation site:

https://rime.readthedocs.io/ja/latest/

Cheat sheet

Install Rime

$ pip install rime

Upgrade Rime

$ pip install -U rime

Uninstall Rime

$ pip uninstall rime

Initialize a project

$ rime_init --git/--mercurial

Add a problem

$ rime add . problem <problem_dir_name>

Add a solution

$ rime add <parent_problem_dir_name> solution <solution_dir_name>

Add a testset

$ rime add <parent_problem_dir_name> testset <testset_dir_name>

Build a target (project/problem/solution/testset)

$ rime build <target_path> -j <#workers>

Test a target (project/problem/solution/testset)

$ rime test <target_path> -C -j <#workers>

Pack a target for an online judge (project/problem/testset)

$ rime pack <target_path>

Upload a target to an online judge (project/problem/testset)

$ rime upload <target_path>

Submit a target to an online judge (project/problem/solution)

$ rime submit <target_path>

Edit a configuration file (project/problem/solution/testset)

$ vi/emacs/nano <target_path>/<PROJECT/PROBLEM/SOLUTION/TESTSET>

New features from Rime Plus

  • -O2, -std=c++11 as a default
  • Faster parallel test
  • native testlib.h support
  • subtask / partial scoring
  • reactive checker (partially support)
  • gcj-styled merged test
  • additional commands
  • pip support
  • judge system deployment
  • test result cache
  • some bug fix
  • JS / CSharp / Haskell codes
  • etc.

For developers

How to run unit tests

$ python setup.py test