Rime: Automation Tool for Programming Contest Organizers
Python C++
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 97 commits behind icpc-jag:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
docs
example
rime
tests
.gitignore
README.md
rime.py
setup.cfg
setup.py

README.md

Rime

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 git+https://github.com/icpc-jag/rime

Upgrade Rime

$ pip install -U git+https://github.com/icpc-jag/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