icpc-jag / rime

Rime: Automation Tool for Programming Contest Organizers
MIT License
45 stars 28 forks source link

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

For developers

How to run unit tests

$ python setup.py test