Metadata-Version: 2.1
Name: rapyuta-io-cli
Version: 9.0.0
Summary: Rapyuta.io CLI Python command line application.
Home-page: http://docs.rapyuta.io
Author: Rapyuta Robotics
Author-email: opensource@rapyuta-robotics.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: argparse (>=1.4.0)
Requires-Dist: click-completion (>=0.5.2)
Requires-Dist: click-help-colors (>=0.9.1)
Requires-Dist: click-plugins (>=1.1.1)
Requires-Dist: click-repl (>=0.2.0)
Requires-Dist: click-spinner (>=0.1.10)
Requires-Dist: click (>=8.0.1)
Requires-Dist: dictdiffer (>=0.9.0)
Requires-Dist: directory-tree (>=0.0.3.1)
Requires-Dist: email-validator (==2.0.0.post2)
Requires-Dist: etcd3gw (>=2.4.0)
Requires-Dist: graphlib-backport (>=1.0.3)
Requires-Dist: graphviz (>=0.20.3)
Requires-Dist: jinja2 (>=3.0.1)
Requires-Dist: jsonschema (==4.23.0)
Requires-Dist: munch (>=2.4.0)
Requires-Dist: pretty-traceback (>=2022.1018)
Requires-Dist: pyrfc3339 (>=1.1)
Requires-Dist: python-benedict (>=0.33.2)
Requires-Dist: python-dateutil (>=2.8.2)
Requires-Dist: python-magic (>=0.4.27)
Requires-Dist: pytz
Requires-Dist: pyyaml (>=5.4.1)
Requires-Dist: rapyuta-io (>=1.17.1)
Requires-Dist: requests (>=2.20.0)
Requires-Dist: semver (>=3.0.0)
Requires-Dist: setuptools
Requires-Dist: six (>=1.13.0)
Requires-Dist: tabulate (>=0.8.0)
Requires-Dist: urllib3 (>=1.23)
Requires-Dist: waiting (>=1.4.1)
Requires-Dist: yaspin (==2.5.0)

# Rapyuta CLI

Rapyuta CLI exposes features of Rapyuta.io platform on the command-line.

The application is written in Python 3 and it is distributed through PyPI for
Python 3 environments.

For Reference on directory structure please refer Please have a look at the
corresponding article:
http://gehrcke.de/2014/02/distributing-a-python-command-line-application/

## Install

Rio CLI is available on PyPI index and can be installed directly by running the
following command.

``` bash
pip install rapyuta-io-cli
```


On Unix-like systems it places the `rio` executable in the user's PATH. On
Windows it places the `rio.exe` in the centralized `Scripts` directory
which should be in the user's PATH.

To install the CLI from source, you can use the `setup.py` script directly.
Clone the repository and from the root of the directory, run the following
command.

``` bash
python setup.py install
```

## Getting Started

To begin using the CLI, it must be authenticated with the Platform.

``` bash
rio auth login
```

The Email and Password can either be given through flags (for scripting
purposes) or interactively through the Prompts.

NOTE: Entering password as a Flag is not recommended because it leaves the
Traces.

## Development

Rio CLI project uses [Pipenv](https://pipenv.pypa.io/en/latest/) for
development. It needs to be installed to setup the development environment.

``` bash
pip install pipenv
```

Once Pipenv is installed, a Python virtual environment can be quickly
bootstrapped by running the following commands in the root of the repository.

``` bash
pipenv install --dev
```

This will create a virtual environment in the Pipenv's preconfigured location
(if one doesn't already exists). It will also install all the dependencies and
`riocli` package in the location.

To run the CLI (or any command) under the context of Pipenv's virtual
environment, prepend the commands with `pipenv run`

```bash
pipenv run rio
```

To run the RIO CLI from the source directly, you can use `riocli` module
directly.

``` bash
pipenv run python -m riocli
```

New dependencies can be installed directly using `pipenv`. This modifies the
`Pipfile` and `Pipfile.lock`.

``` bash
pipenv install {dependency}
```

But using the `pipenv` directly doesn't sync the dependencies in the
`setup.py` file. For this, the project uses a utility called `pipenv-setup`
which allows us to sync the dependencies.

``` bash
pipenv run pipenv-setup sync
```


