Metadata-Version: 2.1
Name: virtualitics-cli
Version: 1.23.1b1
Summary: An easy-to-use command line interface for initializing, packaging, and deploying Custom Apps to a deployed instance of VAIP from within a local development environment.
License: MIT
Author: Virtualitics Engineering
Author-email: engineering@virtualitics.com
Requires-Python: >=3.11,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: art (>=6.1,<7.0)
Requires-Dist: build (>=1.2.1,<2.0.0)
Requires-Dist: requests (>=2.31.0,<3.0.0)
Requires-Dist: typer[all] (>=0.12.0,<0.13.0)
Description-Content-Type: text/markdown

# `vaip`

**Usage**:

```console
$ vaip [OPTIONS] COMMAND [ARGS]...
```

**Options**:

* `--verbose / --no-verbose`: [default: no-verbose]
* `--install-completion`: Install completion for the current shell.
* `--show-completion`: Show completion for the current shell, to copy it or customize the installation.
* `--help`: Show this message and exit.

**General Order of Commands**:
This purpose of this CLI is to build VAIP apps and seamlessly deploy them to the VAIP platform.
Order of operations to create a fresh Python virtual environment however you choose, install this CLI, and then run:
* `config`: Used to create a configuration file that will hold your API key, username, and host to deploy to. Can be run multiple times to create multiple configurations.
* `init`: Initializes a VAIP app structure. After this step, write your app and place it within here.
* `build`: Builds a VAIP App Python wheel file. You must be in the same directory and level as the `pyproject.toml` file.
* `use-context`: Used to set the context referenced in the configuration file for deployment, defaults to last created configuration.
* `deploy`: Deploys the VAIP App to a VAIP Instance using the current context from the configuration file.
* `publish`: Publishes a VAIP App to other users in your organization. (Not currently implemented.)
* `destroy`: Deletes the VAIP module and all apps from the instance. Does not delete flow history.

Example:
```
install virtualitics-cli
mkdir testing-the-cli
cd testing-the-cli
vaip init --project-name=testing_05b1 -v 1.0.0 --description="testing virtualitics-cli v0.0.4b1" --authors='me' --license='none'
** write your app and place the file within the directory created by vaip init (testing_05b1) **
vaip build --yes
vaip deploy dist/testing_05b1-1.0.0-py3-none-any.whl (path not requried)
** run the app in the VAIP **
vaip destory --project-name="testing_05b1" --yes
```

*To delete an app*:

Remove that app (ie, the file) from your project, build and redeploy.

**Commands**:

* `build`: Builds a VAIP App Python wheel file.
* `config`: Used to create a configuration file.
* `deploy`: Deploys the VAIP App to a VAIP Instance.
* `destroy`: Deletes a VAIP module, and all the apps of that module.
* `init`: Initializes a VAIP app structure.
* `publish`: Publishes a VAIP App to other users in your org.
* `use-context`: Used to set the context referenced in the configuration file.

## `vaip build`

Builds a VAIP App Python wheel file

**Usage**:

```console
$ vaip build [OPTIONS]
```

**Options**:

* `-y, --yes`: Build a wheel using pyproject.toml in current directory?  [required]
* `--help`: Show this message and exit.

## `vaip config`

Used to create a configuration file in ~/.virtualitics/config.conf (DEFAULT_CONTEXT_PATH)
Requires a friendly name of a VAIP instance, host of a VAIP instance, and an API token.

**Usage**:

```console
$ vaip config [OPTIONS]
```

**Options**:

* `-N, --name TEXT`: User-specified friendly name for a given VAIP instance, i.e. predict-dev  [required]
* `-H, --host TEXT`: Backend hostname for a given VAIP instance, i.e. https://predict-api-dev.virtualitics.com  [required]
* `-T, --token TEXT`: API token used to verify the user’s access to the given VAIP instance  [required]
* `-U, --username TEXT`: Username associated with API token  [required]
* `--help`: Show this message and exit.

## `vaip deploy`

Deploys the VAIP App to a VAIP Instance

**Usage**:

```console
$ vaip deploy [OPTIONS]
```

**Options**:

* `-f, --file TEXT`: Absolute path to the wheel file if not in current project /dist
* `--help`: Show this message and exit.

## `vaip destroy`

Deletes a VAIP module, and all the apps of that module.

**Usage**:

```console
$ vaip destroy [OPTIONS]
```

**Options**:

* `-n, --project-name TEXT`: Project name to delete (ie, name in pyproject.toml)  [required]
* `-y, --yes`: [required]
* `--help`: Show this message and exit.

## `vaip init`

Initializes a VAIP app structure, and a pyproject.toml file that looks like this:
[project]
name = "vaip-apps"
version = "0.1.1"
description = "vaip example apps"
authors = [{name = "Virtualitics Engineering", email = "engineering@virtualitics.com"}]
license = {text = "MIT"}
requires-python = ">= 3.11"

[build-system]
requires = ["setuptools >= 61.0"]
build-backend = "setuptools.build_meta"

**Usage**:

```console
$ vaip init [OPTIONS]
```

**Options**:

* `-n, --project-name TEXT`: Name for the VAIP App (No spaces or special chars besides '_')  [required]
* `-v, --version TEXT`: Version for the VAIP App (0.1.0)  [required]
* `-d, --description TEXT`: Description for the VAIP App  [required]
* `-a, --authors TEXT`: Authors for the VAIP App (email)  [required]
* `-l, --licenses TEXT`: Licenses for the VAIP App  [required]
* `--help`: Show this message and exit.

## `vaip publish`

Publishes a VAIP App to other users in your group

**Usage**:

```console
$ vaip publish [OPTIONS]
```

**Options**:

* `--help`: Show this message and exit.

## `vaip use-context`

Used to set the context referenced in the config file

**Usage**:

```console
$ vaip use-context [OPTIONS] NAME
```

**Arguments**:

* `NAME`: The name of a previously configured context referenced in the configuration file  [required]

**Options**:

* `--help`: Show this message and exit.

