Metadata-Version: 2.4
Name: inorbit_cli
Version: 0.22.3
Summary: CLI tool to interact with InOrbit Cloud Platform
Author-email: "InOrbit Inc." <support@inorbit.ai>
License: Proprietary
License-File: LICENSE
Keywords: cli,configuration,inorbit,robotics
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.12
Requires-Dist: click>=8.1.7
Requires-Dist: pyyaml>=6.0.2
Requires-Dist: requests>=2.32.3
Requires-Dist: tabulate>=0.9.0
Requires-Dist: unidiff>=0.7.5
Provides-Extra: dev
Requires-Dist: build>=1.2.0; extra == 'dev'
Requires-Dist: bump2version>=1.0.1; extra == 'dev'
Requires-Dist: lark>=1.1.9; extra == 'dev'
Requires-Dist: pytest-env>=1.1.5; extra == 'dev'
Requires-Dist: pytest>=8.3.4; extra == 'dev'
Requires-Dist: requests-mock>=1.12.1; extra == 'dev'
Requires-Dist: ruff>=0.8.4; extra == 'dev'
Requires-Dist: twine>=5.1.0; extra == 'dev'
Description-Content-Type: text/markdown

# InOrbit CLI

Welcome to the InOrbit Command Line Interface (CLI) - a powerful tool for managing robot configurations as code on the InOrbit Cloud platform.

## Overview

The InOrbit CLI enables you to interact with the InOrbit Cloud platform programmatically, allowing you to:
- Manage robot configurations as code
- Apply, compare, and delete configurations
- Query robot, tag, and collection information
- Evaluate expressions on robots
- List and describe various InOrbit resources

## Installing

The package is available on [PyPI](https://pypi.org/project/inorbit-cli/).

**Note:** Make sure you have deactivated any development virtual environment or are using a different one with no `inorbit` python package installed.

```bash
pip install inorbit-cli
```

### Requirements

- Python 3.12 or higher
- An InOrbit API key (see [Usage](#usage) section)

## Usage

### Authentication

The CLI requires an API key for authenticating against InOrbit's platform. To obtain an API key:
1. Go to the [InOrbit control panel](https://control.inorbit.ai/)
2. Navigate to Settings > Admin section > API Keys tab
3. Generate or copy your API key

Set the API key as an environment variable:

```bash
export INORBIT_CLI_API_KEY="your_api_key_here"
```

### Basic Commands

Get help and see all available commands:

```bash
inorbit --help
```

Enable verbose output for debugging:

```bash
inorbit --verbose
# or
export INORBIT_CLI_VERBOSE="true"
```

### Configuration Management

**Apply configurations from a file or directory:**

```bash
inorbit apply -f config.yaml
```

**Compare configurations without applying:**

```bash
inorbit apply -f config.yaml --compare
```

**Apply without confirmation prompts:**

```bash
inorbit apply -f config.yaml -y
```

**List configurations:**

```bash
inorbit get config --kind IncidentDefinition
```

**Delete a configuration:**

```bash
inorbit delete config <config_id> --kind IncidentDefinition
```

### Resource Queries

**Get robots:**

```bash
inorbit get robots
```

**Describe robots with detailed information:**

```bash
inorbit describe robots
```

**Get tags:**

```bash
inorbit get tags
```

**Describe collections:**

```bash
inorbit describe collections
```

### Expression Evaluation

Evaluate expressions on robots:

```bash
inorbit expr eval <robot_id> "expression_here"
```

Or use a file:

```bash
inorbit expr eval <robot_id> -f expression.yaml
```

**Persistent configuration:**

Add these to your shell startup file (`~/.bashrc`, `~/.zshrc`, etc.):

```bash
export INORBIT_CLI_API_KEY="your_api_key_here"
export INORBIT_CLI_VERBOSE="false"  # optional
```

## Development

For development setup and contribution guidelines, see [CONTRIBUTING.md](./CONTRIBUTING.md).

## License

Proprietary - Copyright (c) 2021, InOrbit, Inc. All rights reserved.

## Support

For issues, questions, or contributions, please refer to the [contributing guide](./CONTRIBUTING.md) or contact support@inorbit.ai.
