Metadata-Version: 2.1
Name: fioctl
Version: 1.1
Summary: Frame.io cli
Home-page: UNKNOWN
Author: Frame.io, Inc.
Author-email: platform@frame.io
License: MIT
Platform: UNKNOWN
Requires-Dist: Click (==6.7)
Requires-Dist: pyyaml
Requires-Dist: requests
Requires-Dist: tqdm
Requires-Dist: frameioclient (==0.5.1)
Requires-Dist: tabulate
Requires-Dist: token-bucket
Requires-Dist: treelib
Requires-Dist: cached-property
Requires-Dist: furl

# fioctl

## Installation

### PyPi

The cli requires python3 to take advantage of it's more modern threading capabilities.  So
you need to do:

```bash
pip3 install fioctl
```

### From Source

```bash
git clone git@github.com:Frameio/fioctl.git
cd fioctl && python3 setup.py install
```

Note that it does currently require python3.

## Set Up

First, generate an access token in frame.io and configure with:

```bash
fioctl configure
```

This will ask you to set a profile name, and input your token.

The cli supports multiple profiles in the event you have multiple tokens that can
be configured.  They can be specified like

```bash
fioctl config first_profile.bearer_token <token1>
fioctl config second_profile.bearer_token <token2>
fioctl config profiles.default first_profile
```

To see available commands, run:

```bash
fioctl --help
```

## Basics

Commands are organized around core API types, like `comments`, `assets`, etc.

Any command result can be formatted as `json`, `csv`, or as `table` (usually default),
using the `--format <format>` option.  Some commands, like `fioctl assets traverse <id>`
support `tree` formatting as well.  In addition, a default table format can be set with 
`fioctl config table.fmt <fmt>`

Additionally, you can select the columns to project in a command with the `--columns col1,col2,...`
option.  If you want to select a nested attribute in a column, use the `.` operator.

To preserve formatting for a command family, like `projects`, do `fioctl config projects.columns col1,col2,...`.  To set a new table format, do `fioctl config table.fmt <new_table_fmt>`.  Look at the python docs for tabulate to see the options available. 

Update commands usually accept an option like `--values col=val,col.nested=other_val`

