52 个版本 (28 个重大更新)

0.31.0 2024 年 8 月 14 日
0.29.0 2024 年 7 月 26 日
0.22.2 2024 年 2 月 1 日
0.21.3 2023 年 12 月 18 日
0.3.2 2020 年 7 月 9 日

#46命令行工具

Download history 138/week @ 2024-05-13 36/week @ 2024-05-20 196/week @ 2024-05-27 9/week @ 2024-06-03 4/week @ 2024-06-10 266/week @ 2024-07-01 22/week @ 2024-07-08 110/week @ 2024-07-22 21/week @ 2024-07-29 254/week @ 2024-08-05 129/week @ 2024-08-12

每月 514 次下载

Apache-2.0

1MB
12K SLoC

包含 (cab 文件, 115KB) tests/samples/unicode.msg, (cab 文件, 93KB) tests/samples/non-unicode.msg

reinfer-cli

Re:infer 的命令行界面

Build Status Crates.io

API 文档 | 网站

reRe:infer 的官方命令行界面。它简化了管理资源,如源和数据集,以及导入或导出通信数据。此外,re 维护多个上下文,使得在不同的用户(如果需要的话,多个集群的端点)之间切换多个认证令牌变得容易。

API 库

api 目录包含用于 reinfer 的 Rust 客户端库,可用于独立访问 API。请参阅该目录以获取更多信息。README 的其余部分是关于管理 reinfer 资源命令行工具的。

功能

  • 创建、获取、更新和删除 源、数据集、评论等操作。
  • 多端点(reinfer 集群)和用户令牌的上下文管理。
  • 将新的引文上传到源。
  • 轻松地从一组源和数据集中下载原始引文以及人工应用的注释。对于备份、迁移数据或对数据进行某些转换很有用。
  • zshbash 提供基本的 shell 自动补全。
  • 彩色终端输出和进度条。

演示

安装

二进制文件

为选定的平台提供无依赖项的静态链接二进制文件

Debian / Ubuntu

您可以从这里下载 .deb 软件包:此处

从源

要从源构建,您需要安装最新版本的 Rust 工具链

使用 cargo install

使用 cargo install 运行以下命令。

cargo install reinfer-cli

确保 cargo 的 bin 目录已添加到您的路径中(通常是 ~/.cargo/bin)。

手动

使用 cargo 的常规方式构建

cargo build --release

二进制文件位于 ../target/release/re。将其移动到合适的位置,例如。

sudo mv ../target/release/re /usr/local/bin/

入门指南

检查安装并运行 re(不带参数)以查看所有可用命令的完整列表。

身份验证

会话持久

最简单的方法是为每个命令指定 API 令牌。默认情况下,re 将会提示您交互式输入。例如,要列出可用数据集

➜ re get datasets
input: Enter API token [none]: MYSUPERSECRETAPITOKEN
 Name                                ID                Updated (UTC)        Title
 InvestmentBank/collateral-triggers  aa9dda7c059e5a8d  2019-04-30 17:25:03  IB Collateral Triggers
 InvestmentBank/george-test          1aaeacd49dfce8a0  2019-05-10 15:32:34  Test Dataset
 InvestmentBank/margin-call          b9d50fb2b38c3af5  2019-05-08 07:51:09  IB Margin Call
 InvestmentBank/margin-call-large    6d00b9f69ab059f6  2019-05-11 09:23:43  IB Margin Call Large

令牌也可以使用 --token 指定

➜ re --token MYSUPERSECRETAPITOKEN get datasets

这通常不是一个好主意(例如,它将被存储在您的 shell 历史中)。更好的方法是存储在环境变量中。

➜ re --token $REINFER_TOKEN get datasets

更好的是使用上下文,见下文。

不同的集群

默认情况下,所有命令的端点是 https://reinfer.io。这可以通过 --endpoint 覆盖,例如。

re --endpoint http://localhost:8000 --token $REINFER_TOKEN get datasets

上下文(有状态的身份验证)

上下文有助于避免在每个命令中手动指定令牌和端点。一个 上下文 由以下部分组成

  • 身份验证令牌(哪个用户?)
  • 与 Re:infer 集群通信的端点,通常是 https://reinfer.io
  • (可选)用于所有请求的 HTTP 代理
  • 一个易于记忆的名称,用作“上下文”的标识符

管理 上下文 的命令位于 re config 下,允许您创建、更新、设置和删除上下文。运行 re config -h 以查看所有选项。

在创建第一个上下文时,这将设置为活动上下文

➜ re config add --name production --endpoint https://reinfer.io/
I A new context `production` will be created.
* Enter API token [none]: MYSUPERSECRETTOKEN
W Be careful, API tokens are stored in cleartext in /home/marius/.config/reinfer/contexts.json.
I New context `production` was created.

当前上下文将用于所有后续命令。

➜ re get datasets
 Name                                ID                Updated (UTC)        Title
 InvestmentBank/collateral-triggers  aa9dda7c059e5a8d  2019-04-30 17:25:03  IB Collateral Triggers
 InvestmentBank/george-test          1aaeacd49dfce8a0  2019-05-10 15:32:34  Test Dataset
 InvestmentBank/margin-call          b9d50fb2b38c3af5  2019-05-08 07:51:09  IB Margin Call
 InvestmentBank/margin-call-large    6d00b9f69ab059f6  2019-05-11 09:23:43  IB Margin Call Large

可以使用全局标志(如 --token--endpoint--proxy)一次性覆盖任何上下文设置。

➜ re --proxy http://proxy.example get datasets

添加一个已存在的名称的上下文将允许您更新任何已保存的设置。

上传评论

进行中

贡献

除非您明确声明,否则任何旨在包含在 reinfer-clireinfer-client 中并按照 Apache-2.0 许可证定义的贡献,都应按上述方式许可,不附加任何额外的条款或条件。

发布准备

  • 更新存储库文件以表示新版本
    • api/Cargo.tomlcli/Cargo.toml 中提高版本号。
      • 您还需要更新 cli/Cargo.toml 中的版本规范,该规范指向 api/Cargo.toml
    • 运行 cargo build 以更新所有锁文件。
    • 更新 CHANGELOG.md 以将所有 Unreleased 变更标记为新版本的一部分。
      • 检查自上次发布以来的 git 日志,以确保没有遗漏任何内容。
    • 更新 README.md 中的静态二进制文件的下载链接。
    • 提交所有更改并按常规创建 PR。
  • 通过 创建新的 Github 发布 来发布。
    • 使用版本号作为发布标题:v0.10.1
    • 使用相关的变更日志部分作为发布描述。
    • 发布版本会将构建工件上传并标记相关的提交。
    • 检查GitHub Actions 日志以确保发布成功。

许可证

本项目遵循Apache许可证2.0版本(《LICENSE》或https://apache.ac.cn/licenses/LICENSE-2.0》)。

依赖项

~17–36MB
~602K SLoC