re
is the command line interface for reinfer. It simplifies managing reinfer resources, such as sources and datasets, as well as importing or exporting communications data. Additionally, re
maintains multiple contexts, making it easy to switch between multiple authentication tokens for different users (and endpoints for multiple clusters if needed).
The api directory contains a Rust client library for reinfer which can be used for API access independently. Please refer to that directory for more information. The rest of the README is about the command line tool for managing reinfer resources.
zsh
and bash
.You can download a .deb
package here.
You can download binaries for your platform below:
To build from source, you need a recent version of the Rust toolchain installed.
cargo install
To install using cargo install
run the following.
cd cli
cargo install --force --path . reinfer-cli
Ensure you have the cargo bin directory in your path (typically ~/.cargo/bin
).
Build it the usual way using cargo
cargo build --release
The binary is located at ../target/release/re
. Move it somewhere suitable, e.g.
sudo mv ../target/release/re /usr/local/bin/
Check the installation and see a full listing of the available commands by running re
.
The simplest way to authenticate is to specify the API token for every command. By default re
will prompt you to enter it interactively. E.g. to list the available datasets
➜ 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
The token can also be specified using --token
➜ re --token MYSUPERSECRETAPITOKEN get datasets
This is not generally a good idea (e.g. it'll be stored in your shell history). Better to store in a environment variable.
➜ re --token $REINFER_TOKEN get datasets
Even better to use contexts, see further below.
By default, the endpoint for all commands is https://reinfer.io
. This can be overidden using --endpoint
, e.g.
re --endpoint http://localhost:8000 --token $REINFER_TOKEN get datasets
Contexts help avoid having to manually specify the token and endpoint with every command. A context is composed of
https://reinfer.io
(which cluster?)Commands for managing contexts are under re config
and allow one to create, update, set and delete contexts. Run re config -h
to see all the options.
When creating the very first context, this will be set as the active one
➜ 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.
The token and endpoint for the current context will be used for all subsequent commands (these be overwritten as a one off using the --token
and --endpoint
arguments).
➜ 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
WIP
tools/put_comments
)deb
package and binary automaticallyinspect
command for resources with a detailed viewre get
--no-color
argument for headless usageCreating binaries and Debian packages should eventually be done automatically by CI. For now, there's a small script publish-binaries
that does it.