Skip to content

Latest commit

 

History

History
30 lines (20 loc) · 2.74 KB

CONTRIBUTING.md

File metadata and controls

30 lines (20 loc) · 2.74 KB

Contribution and Hacking Guide

links:

For committer of oj command / oj コマンド本体への貢献者へ

For developpers of programs which uses oj command / oj コマンドを用いたツールの開発者へ

TL;DR: Use online-judge-tools/api-client instead for programs. / プログラムからの利用には代わりに online-judge-tools/api-client を使ってください

There are many ways to use online-judge-tools for your tool.

  1. oj-api command (in online-judge-tools/api-client)
    • oj-api command is the best choice in most cases because it makes things loose coupling and has .
    • You should also check jmerle/competitive-companion.
    • Now, there are some missing features in oj-api command (e.g. logging in via web browsers). So you may need to use oj command for such features.
  2. onlinejudge module of Python (in online-judge-tools/api-client)
    • onlinejudge module is the most flexible interface, but it makes tight coupling. You should avoid it unless you really need to optimize.
  3. oj command
    • oj command is basically an interface to humans, not to programs. You can use this for your tool, but please be careful.
    • You can re-implement the core functionality of any subcommand of oj command with a single-line shell script.