Metadata-Version: 2.4
Name: jetson-cli
Version: 0.6.0
Summary: Command-line interface for NVIDIA Jetson setup and configuration
Home-page: https://github.com/your-org/jetson-setup
Author: Jetson Setup Team
Author-email: Jetson Setup Team <support@jetson-setup.com>
License: MIT
Project-URL: Homepage, https://github.com/your-org/jetson-setup
Project-URL: Documentation, https://github.com/your-org/jetson-setup/blob/main/README.md
Project-URL: Repository, https://github.com/your-org/jetson-setup.git
Project-URL: Bug Reports, https://github.com/your-org/jetson-setup/issues
Keywords: jetson,nvidia,embedded,ai,ml,docker,containers,setup
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
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 :: System :: Systems Administration
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.0.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: tabulate>=0.9.0
Requires-Dist: packaging>=20.0
Requires-Dist: psutil>=5.8.0
Requires-Dist: rich>=12.0.0
Provides-Extra: dev
Requires-Dist: pytest>=6.0; extra == "dev"
Requires-Dist: pytest-cov>=2.0; extra == "dev"
Requires-Dist: black>=22.0; extra == "dev"
Requires-Dist: flake8>=4.0; extra == "dev"
Requires-Dist: isort>=5.0; extra == "dev"
Requires-Dist: bump2version>=1.0; extra == "dev"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# jetson-cli

A comprehensive CLI tool for setting up NVIDIA Jetson devices and building containerized AI/ML applications using the jetson-containers framework.

## Task list
- [ ] Best practices compliation for jetson for humans and AI
  - [ ] tools
  - [ ] commands
  - [ ] configurations 
- [ ] docker images backup and restore scripts
- [ ] GenAI integration on device, local or remote
- [ ] Model inference setup recommendations
- [ ] jetson-containers Package suite recommendations



## Overview

jetson-cli provides a streamlined interface for:
- Analyzing and configuring Jetson hardware
- Setting up development environments
- Building and running containerized AI/ML applications
- Managing the jetson-containers ecosystem

## Installation

### From PyPI (Recommended)
```bash
pip install jetson-cli
```

### From Source
```bash
git clone https://github.com/orinachum/jetson-cli.git
cd jetson-cli
pip install -e .
```

## Quick Start

1. **Analyze your system**:
   ```bash
   jetson-cli probe
   ```

2. **Initialize environment**:
   ```bash
   jetson-cli init
   ```

3. **Complete setup**:
   ```bash
   jetson-cli setup
   ```

## Commands

### System Analysis
```bash
jetson-cli probe                        # Show system configuration
jetson-cli probe --output json          # Output as JSON
jetson-cli probe --save config.yaml     # Save to file
```

### Environment Setup
```bash
jetson-cli init                         # Create environment profile
jetson-cli init --profile-name dev      # Custom profile name
jetson-cli init --force                 # Overwrite existing profile
```

### System Configuration
```bash
jetson-cli setup                        # Complete system setup
jetson-cli setup --skip-docker          # Skip Docker configuration
jetson-cli setup --interactive          # Interactive mode
```

### Component Management
```bash
jetson-cli configure docker             # Configure Docker daemon
jetson-cli configure swap               # Setup swap file
jetson-cli configure ssd                # Configure SSD storage
jetson-cli configure power              # Power management settings
jetson-cli configure gui                # GUI environment setup
```

### Status Monitoring
```bash
jetson-cli status                       # Show system status
jetson-cli status --format json         # JSON output format
```

## jetson-containers Integration

This tool integrates with the [jetson-containers](https://github.com/dusty-nv/jetson-containers) framework to provide containerized AI/ML packages:

### Container Building
```bash
# After jetson-cli setup, use jetson-containers directly
jetson-containers build pytorch                    # Build PyTorch container
jetson-containers build pytorch jupyterlab         # Chain multiple packages
jetson-containers build --name=my_app pytorch      # Custom container name
```

### Available Packages
- **ML/AI**: PyTorch, TensorFlow, ONNX Runtime, transformers
- **LLM**: SGLang, vLLM, MLC, text-generation-webui, ollama
- **VLM**: LLaVA, VILA, NanoLLM (vision-language models)
- **Robotics**: ROS, Genesis, OpenVLA, LeRobot
- **Computer Vision**: NanoOWL, SAM, CLIP, DeepStream
- **Graphics**: Stable Diffusion, ComfyUI, NeRF Studio

### Running Containers
```bash
jetson-containers run $(autotag l4t-pytorch)
```

## Examples

### Complete Jetson Setup Workflow
```bash
# 1. Analyze hardware and software configuration
jetson-cli probe --save system-info.yaml

# 2. Create development environment profile
jetson-cli init --profile-name ml-dev

# 3. Configure the system for AI/ML development
jetson-cli setup

# 4. Verify everything is working
jetson-cli status

# 5. Build and run your first container
jetson-containers build pytorch
jetson-containers run $(autotag l4t-pytorch)
```

### Selective Component Configuration
```bash
# Configure only Docker (skip other components)
jetson-cli configure docker

# Setup additional swap space
jetson-cli configure swap

# Configure external SSD storage
jetson-cli configure ssd
```

## Architecture

- **CLI Interface** (`jetson_cli/`): User-friendly Click-based commands
- **System Scripts** (`scripts/`): Low-level system configuration scripts
- **Container Framework** (`jetson-containers/`): Modular container build system
- **Package Ecosystem**: 100+ pre-built AI/ML container packages

## Requirements

- NVIDIA Jetson device (Nano, Xavier, Orin series)
- JetPack 4.6+ or L4T R32.7+
- Python 3.6+
- Docker support

## Contributing

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## License

This project is licensed under the MIT License - see the LICENSE file for details.
