16 个版本 (6 个破坏性版本)

0.7.0 2020 年 11 月 24 日
0.5.4 2020 年 9 月 25 日
0.3.3 2020 年 5 月 1 日
0.3.0 2020 年 1 月 29 日
0.2.0 2019 年 3 月 3 日

#1708 in 命令行工具

每月 27 次下载

MIT/Apache

330KB
8K SLoC

雪链

CI Crates.io Crates.io

在线编程竞赛工具。

功能

  • 将示例案例抓取为 YAML 格式
  • 使用下载的示例案例测试源文件
  • 提交源文件
  • 下载您已提交的源文件
注册竞赛 获取示例测试用例 获取系统测试用例 提交 获取提交 监视提交
AtCoder ✔️ ✔️ ✔️ ✔️ ✔️
Codeforces ✔️ N/A ✔️
yukicoder N/A ✔️ ✔️ ✔️

安装

GitHub 发布

https://github.com/qryxip/snowchains/releases

cargo install (Crates.io)

$ cargo install snowchains

cargo install (GitHub)

$ cargo install --git https://github.com/qryxip/snowchains

用法

$ snowchains -h
snowchains 0.5.2
Ryo Yamashita <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 ...

Screenshot

Record

许可证

双重许可,根据 MITApache-2.0

依赖关系

~29–44MB
~743K SLoC