Metadata-Version: 2.4
Name: nemoclaw-installer
Version: 1.0.0
Summary: Terminal wrapper for NVIDIA NemoClaw installer
Author-email: Gerald Enrique Nelson Mc Kenzie <lordxmen2k@gmail.com>
License: Apache-2.0
Project-URL: Homepage, https://github.com/nemoclaw/nemoclaw-installer
Project-URL: Documentation, https://github.com/nemoclaw/nemoclaw-installer#readme
Project-URL: Repository, https://github.com/nemoclaw/nemoclaw-installer.git
Project-URL: Bug Tracker, https://github.com/nemoclaw/nemoclaw-installer/issues
Keywords: nemoclaw,nvidia,installer,nemo,claw
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS :: MacOS X
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 :: Installation/Setup
Classifier: Topic :: Terminals :: Terminal Emulators/X Terminals
Classifier: Environment :: Console
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.28.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: black>=22.0; extra == "dev"
Requires-Dist: flake8>=5.0; extra == "dev"
Requires-Dist: mypy>=0.991; extra == "dev"
Dynamic: license-file

# NemoClaw-Installer

[![PyPI version](https://img.shields.io/badge/pypi-v1.0.0-blue)](https://pypi.org/project/nemoclaw-installer/)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

> **Terminal wrapper for NVIDIA NemoClaw installer**

`nemoclaw-installer` downloads and runs the NemoClaw bash installer directly in your terminal with full PTY support. Arrow keys, interactive prompts, and selections work natively.

## Features

- **Native Terminal PTY**: Runs directly in your terminal — no web interface needed
- **Full Interactive Support**: Arrow keys, dropdowns, checkboxes, password prompts all work
- **Cross-Platform**: Works on Windows (WSL/Git Bash), Linux, and macOS
- **Multi-Architecture**: Supports x86_64, ARM64, and other platforms via the native installer
- **Auto-Download**: Automatically downloads the latest NemoClaw installer
- **Minimal Dependencies**: Only requires `requests`

## Installation

```bash
pip install nemoclaw-installer
```

## Usage

```bash
# Run the installer
nemoclaw-installer

# Or
python -m nemoclaw_installer
```

The installer will:
1. Download NemoClaw installer (cached for 1 hour)
2. Launch it in your terminal with full interactive support
3. Run the complete NemoClaw setup with all prompts

## Platform-Specific Notes

### Linux & macOS

NemoClaw installs to `~/.local/bin/nemoclaw` by default.

**Running NemoClaw:**
```bash
# The installer should add nemoclaw to your PATH
# You may need to restart your terminal or run:
source ~/.bashrc  # or ~/.zshrc for zsh

# Then use nemoclaw
nemoclaw my-assistant connect
```

**If `nemoclaw` command not found:**
```bash
# Add to PATH manually (add to your ~/.bashrc or ~/.zshrc)
export PATH="$HOME/.local/bin:$PATH"

# Or run with full path
~/.local/bin/nemoclaw my-assistant connect
```

### Windows

On Windows, NemoClaw is installed **inside** the Linux environment (WSL) or Git Bash, not in Windows itself.

#### Bash Selection Priority
1. **WSL2** (preferred) - if `wsl --version` succeeds
2. **Git Bash** (fallback) - if found in standard locations

#### Running NemoClaw from Windows

**From PowerShell/CMD:**
```powershell
# Use 'wsl' prefix to access the Linux-installed command
wsl nemoclaw my-assistant connect
```

**From WSL terminal:**
```bash
# Enter WSL first
wsl

# Then run directly
nemoclaw my-assistant connect
```

#### Accessing the Dashboard
After installation, NemoClaw runs a dashboard on `https://localhost:8080`:
- Use **`https://`** (not http) - it uses a self-signed certificate
- Accept the security warning in your browser (normal for local development)
- Look for the full URL with token in the terminal output

## Requirements

- **Python**: 3.8+
- **Windows**: WSL2 or Git Bash
- **Linux**: Any distribution with bash
- **macOS**: 10.14+ with bash or zsh

**Architecture Support**: x86_64, ARM64 (Apple Silicon, AWS Graviton), ARMv7, and others (handled by the native NemoClaw installer)

## How It Works

```
┌─────────────┐     exec/spawn     ┌─────────────┐
│   Terminal  │ ◄────────────────► │   NemoClaw  │
│   (Your     │      Full PTY      │   Installer │
│   Shell)    │                    │             │
└─────────────┘                    └─────────────┘
```

The wrapper:
1. Downloads `nemoclaw.sh` from NVIDIA
2. Detects the best available shell:
   - **Linux/macOS**: Native bash/zsh
   - **Windows**: WSL → Git Bash
3. Executes the installer with your terminal's stdin/stdout
4. Full PTY support ensures interactive prompts work

## Troubleshooting

### "nemoclaw: command not found"

**Linux/macOS:**
```bash
# Add ~/.local/bin to PATH
export PATH="$HOME/.local/bin:$PATH"
```

**Windows:**
```powershell
# Use wsl prefix
wsl nemoclaw my-assistant connect
```

### Dashboard certificate error

This is normal - NemoClaw uses a self-signed certificate for local development:
1. Open `https://localhost:8080`
2. Click "Advanced" → "Proceed to localhost (unsafe)"
3. Or look for the token URL in your terminal output

### Installation fails / Node.js issues

The NemoClaw installer will:
- Check for Node.js v20+ (v22+ recommended)
- Install via nvm if not present
- Handle all dependencies automatically

Just let the installer run — it manages everything.

## Development

```bash
# Clone repository
git clone https://github.com/nemoclaw/nemoclaw-installer.git
cd nemoclaw-installer

# Install in editable mode
pip install -e .

# Run
python -m nemoclaw_installer
```

## License

Apache 2.0 - See [LICENSE](LICENSE) file

