Metadata-Version: 2.3
Name: holoscan-cli
Version: 3.3.0
Summary: Command line interface for packaging and running Holoscan applications.
License: Apache-2.0
Keywords: AI,holoscan,medical,streaming,HPC,nvidia,docker,container
Author: NVIDIA
Maintainer: mocsharp
Requires-Python: >=3.9,<3.13
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Environment :: GPU :: NVIDIA CUDA :: 12
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Healthcare Industry
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Dist: Jinja2 (>=3.1.6,<4.0.0)
Requires-Dist: packaging (>=23.1,<24.0)
Requires-Dist: pip (>22.0.2)
Requires-Dist: psutil (>=6.0.0,<7.0.0)
Requires-Dist: python-on-whales (>=0.60.1,<0.61.0)
Requires-Dist: pyyaml (>=6.0,<7.0)
Requires-Dist: requests (>=2.31.0,<3.0.0)
Project-URL: Documentation, https://docs.nvidia.com/holoscan/sdk-user-guide/index.html
Project-URL: Homepage, https://github.com/nvidia-holoscan/holoscan-cli
Project-URL: Repository, https://github.com/nvidia-holoscan/holoscan-cli
Description-Content-Type: text/markdown

[![Code Check](https://github.com/nvidia-holoscan/holoscan-cli/actions/workflows/check.yaml/badge.svg)](https://github.com/nvidia-holoscan/holoscan-cli/actions/workflows/check.yaml)
[![Coverage Status](https://coveralls.io/repos/github/nvidia-holoscan/holoscan-cli/badge.svg)](https://coveralls.io/github/nvidia-holoscan/holoscan-cli)

# Holoscan CLI

Command line interface for packaging and running Holoscan applications.

## Overview

This repository is the home for Holoscan CLI. It includes tools for packaging and running Holoscan applications.

## Prerequisites

You will need a platform supported by [NVIDIA Holoscan SDK](https://docs.nvidia.com/holoscan/sdk-user-guide/sdk_installation.html#prerequisites). Refer to the Holoscan SDK User Guide for the latest requirements. In general, Holoscan-supported platforms include:

- An x64 PC with an Ubuntu operating system and an NVIDIA GPU or
- A supported NVIDIA ARM development kit.

## Installation

Holoscan CLI is delivered as a Python package and can be installed from PyPI.org using one of the following commands:

| Holoscan SDK Version | Installation Command       |
| -------------------- | -------------------------- |
| 2.8 or earlier       | `pip install holoscan`     |
| 2.9 or later         | `pip install holoscan-cli` |

## Build From Source

### Prerequisites

To build the Holoscan CLI from source, you will need to clone this repository and install the following dependencies:

- Python 3.9+.
- [poetry 2.0+](https://python-poetry.org/docs/#installation)

### Development Environment

Holoscan CLI uses [Poetry](https://python-poetry.org/) for package and dependency management. After installing Poetry, run the following commands to get started:

```bash
# Create virtual environment
poetry env use python3.12

# Activate virtual environment
eval $(poetry env activate)

# Install dependencies
poetry install

# Configure pre-commit hooks
pre-commit install

# Run pre-commit against all files
pre-commit run --all-files

# Build sdist package
poetry build

# Run tests
poetry run pytest
```

For more information on Poetry and its usages, see the [Poetry documentation](https://python-poetry.org/docs/).

## Contributing to the Holoscan CLI

See [CONTRIBUTING.md](./CONTRIBUTING.md) for details.

