Snowchains
Tools for online programming contests.
Features
- Scrapes sample cases as YAML
- Tests a source file with downloaded sample cases
- Submits a source file
- Downloads source file you have submitted
Register to a contest | Get sample test cases | Get system test cases | Submit | Get submissions | Watch submissions | |
---|---|---|---|---|---|---|
AtCoder | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
Codeforces | ❌ | ✔️ | N/A | ✔️ | ❌ | ❌ |
yukicoder | N/A | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
Instrallation
GitHub Releases
https://github.com/qryxip/snowchains/releases
cargo install
(Crates.io)
$ cargo install snowchains
cargo install
(GitHub)
$ cargo install --git https://github.com/qryxip/snowchains
Usage
$ snowchains -h
snowchains 0.5.2
Ryo Yamashita <qryxip@gmail.com>
Tools for online programming contests
USAGE:
snowchains <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
init Create a new config file [aliases: i]
login Logges in to a service [aliases: l]
participate Participates in a contest
retrieve Retrieves data [aliases: r]
download Alias for `retrieve testcases` [aliases: d]
watch Watches data [aliases: w]
judge Tests code [aliases: j, test, t]
submit Submits code [aliases: s]
xtask Runs a custom subcommand written in the config file [aliases: x]
help Prints this message or the help of the given subcommand(s)
$ snowchains r -h
snowchains-retrieve 0.5.2
Ryo Yamashita <qryxip@gmail.com>
Retrieves data
USAGE:
snowchains retrieve <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
languages Retrieves list of languages [aliases: l]
testcases Retrieves test cases [aliases: t]
submission-summaries Retrieves submission summaries [aliases: ss]
help Prints this message or the help of the given subcommand(s)
$ snowchains w -h
snowchains-watch 0.5.2
Ryo Yamashita <qryxip@gmail.com>
Watches data
USAGE:
snowchains watch <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
submissions Watches your submissions [aliases: s]
help Prints this message or the help of the given subcommand(s)
$ snowchains i .
Wrote `/home/ryo/src/local/a/snowchains.dhall`
$ snowchains x setup -h
usage: snowchains xtask setup [-h] [-p [PROBLEM [PROBLEM ...]]] service contest {cpp,rs} {code,vim,emacs}
positional arguments:
service
contest
{cpp,rs}
{code,vim,emacs}
optional arguments:
-h, --help show this help message and exit
-p [PROBLEM [PROBLEM ...]], --problems [PROBLEM [PROBLEM ...]]
$ echo "$ATCODER_USERNAME\n$ATCODER_PASSWORD" | snowchains x setup atcoder practice cpp code
GET https://atcoder.jp/contests/practice/tasks ... 404 Not Found
GET https://atcoder.jp/contests/practice ... 200 OK
Username: Password: GET https://atcoder.jp/login ... 200 OK
POST https://atcoder.jp/login ... 302 Found
GET https://atcoder.jp/settings ... 200 OK
GET https://atcoder.jp/contests/practice ... 200 OK
GET https://atcoder.jp/contests/practice/tasks ... 200 OK
GET https://atcoder.jp/contests/practice/tasks_print ... 200 OK
A: Saved to /home/ryo/src/local/a/.snowchains/tests/atcoder/practice/a.yml (2 test cases)
B: Saved to /home/ryo/src/local/a/.snowchains/tests/atcoder/practice/b.yml (interactive problem)
Opening https://atcoder.jp/contests/practice/tasks/practice_1 ...
Opening https://atcoder.jp/contests/practice/tasks/practice_2 ...
License
Dual-licensed under MIT or Apache-2.0.