tapi

command
v1.24.0-basal-automated.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 27, 2018 License: BSD-3-Clause Imports: 3 Imported by: 0

README

tapi

This tool will allow easy command-line access to many features of the Tidepool API. It currently has limited features, but additional features will be added over time.

NB: If you would like to use this tool on the Tidepool platform running on your machine (i.e., localhost), please note the following additional instructions:

  • make sure you're running the data services (for instructions see the repo README, and don't forget to . ./env.sh)
  • from the root of your platform repo directory, use the full path wherever you see tapi in the shell commands below (e.g., $ _bin/tools/tapi/tapi login)

Which Server?

This tool must be configured with the appropriate HTTP endpoint in order to communicate with the Tidepool API. You can specify either the endpoint directly, or the Tidepool environment name and the endpoint will be determine automatically. It is recommended that you use specify the Tidepool environment name rather than the endpoint.

Note: The endpoint takes precedence over the environment name.

Environment

If you choose to specify the Tidepool environment name when invoking the tool it will automatically convert from all known environments (ie. prd, int, stg, dev, local) to the appropriate endpoint. For example:

$ tapi login --env=prd
TIDEPOOL_ENV

Rather than specifying the --env argument on every command, you may define the TIDEPOOL_ENV environment variable. All subsequent invocations of the tool will use the environment specified in the TIDEPOOL_ENV environment variable. For example:

$ export TIDEPOOL_ENV=prd
$ tapi login

Note: The command line argument takes precedence over the environment variable.

Endpoint

Alternatively, you may choose the specify the HTTP endpoint directly. For example:

tapi login --endpoint=https://api.tidepool.org
TIDEPOOL_ENDPOINT

Rather than specifying the --endpoint argument on every command, you may define the TIDEPOOL_ENDPOINT environment variable. All subsequent invocations of the tool will use the endpoint specified in the TIDEPOOL_ENDPOINT environment variable. For example:

$ export TIDEPOOL_ENDPOINT=https://api.tidepool.org
$ tapi login

Note: The command line argument takes precedence over the environment variable.

Who Are You?

You must authenticate with the Tidepool API in order to use most features of the tool. Once authenticated, the Tidepool session will be stored for future invocations of the tool. (For the curious, the Tidepool session is persisted in ~/.tidepool/session.)

User

To authenticate as a user:

$ tapi login
Email: your-email@domain.com
Password: ********
Logged in.

Alternatively:

$ tapi login --email your-email@domain.com
Password: ********
Logged in.

Server

To use the tool on a Tidepool server instance, authenticate with the server login:

$ tapi server-login

Note: The TIDEPOOL_USER_CLIENT_SERVERTOKENSECRET environment variable must be set as appropriate.

Additional

To logout and destroy the Tidepool session:

$ tapi logout
Logged out.

To verify the Tidepool session with the Tidepool API:

$ tapi whoami
{"isserver":false,"userid":"1234567890"}

Which User?

Many of the Tidepool APIs operate on a particular user, specified via id. Therefore, many of the tool commands include a --user-id argument.

If you are authenticated as a user, then this argument is optional. If not specified, the user id associated with the current Tidepool session will be used.

If you are authenticated on a Tidepool server instance, then this argument is required. A Tidepool server session is not associated with any specific user.

Features

To keep the following examples as succinct as possible, it is assumed that the tool has been previously authenticated with a user account and the --user-id argument is not specified.

Dataset

This tool can manage datasets.

List

To list all datasets for a user:

$ tapi dataset list
(... output ...)
Filter

You may provide limited filtering of the datasets.

Deleted

Datasets that have been previously deleted are not normally included in the list of datasets. If you wish to include deleted datasets in the list, then specify the --deleted argument. For example:

$ tapi dataset list --deleted
(... output ...)
Pagination

By default, the Tidepool API returns datasets in pages with a default and maximum pages size of 100. To effectively list all datasets you will need to specify the --page and --size arguments to interate through all of the available datasets. For example:

$ tapi dataset list --size 50 --page 0
(... first 50 datasets ...)
$ tapi dataset list --size 50 --page 1
(... second 50 datasets ...)

The --size argument can be from 1 to 100. The --page argument can be zero or more.

The last page will either contain less than size number of datasets or will be empty.

Delete

To delete a specific dataset, determine its dataset id, also known as uploadId, via the list command above, and then invoke the delete dataset command. For example:

$ tapi dataset delete --dataset-id ff2346e5623914b1234565661f093459
Dataset deleted.

NB: Older upload IDs (from ingestion through the legacy "jellyfish" ingestion service) begin with upid_ and contain only 12 characters in the hash.

Help

For general help with the tool:

$ tapi --help

For more detailed help with a specific command:

$ tapi <command> --help

Replace <command> with one of the top-level commands.

For more detailed help with a specific sub-command:

$ tapi <command> <sub-command> --help

Replace <command> with one of the top-level commands and <sub-command> with a sub-command.

For example:

$ tapi dataset list --help
NAME:
   tapi dataset list - list datasets

USAGE:
   tapi dataset list [command options] [arguments...]

OPTIONS:
   --user-id USERID     USERID of the user to list datasets
   --deleted            include deleted datasets in the list
   --page PAGE          pagination PAGE (default: 0)
   --size SIZE          pagination SIZE (default: 0)
   --endpoint ENDPOINT  Tidepool API ENDPOINT (eg. 'https://api.tidepool.org') [$TIDEPOOL_ENDPOINT]
   --env ENVIRONMENT    Tidepool ENVIRONMENT (ie. 'prd', 'int', 'stg', 'dev', 'local') [$TIDEPOOL_ENV]
   --proxy URL          proxy URL [$HTTP_PROXY]
   --pretty, -p         pretty print JSON
   --verbose, -v        include info output

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL