Metadata-Version: 2.4
Name: safe-colab-cli
Version: 0.20.0
Summary: CLI tool for safe collaboration - sandboxed Jupyter kernel with remote Hypha service access
Author: AICell Lab
License-Expression: MIT
Project-URL: Homepage, https://safe-colab.aicell.io
Project-URL: Repository, https://github.com/aicell-lab/safe-colab-cli
Project-URL: Guardian, https://safe-colab-guardian.hypha.aicell.io
Keywords: safe-colab,sandbox,jupyter,hypha,remote-execution
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: hypha-rpc>=0.20.0
Requires-Dist: jupyter_client>=8.0
Requires-Dist: ipykernel>=6.0
Requires-Dist: click>=8.0
Requires-Dist: python-dotenv>=1.0
Requires-Dist: httpx>=0.24.0
Requires-Dist: aiohttp>=3.9
Requires-Dist: nono-py>=0.1.0; sys_platform != "win32"
Requires-Dist: pandas>=2.0
Requires-Dist: numpy>=1.24
Provides-Extra: desktop
Requires-Dist: aiohttp>=3.9; extra == "desktop"
Provides-Extra: sandbox
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
Requires-Dist: pytest-timeout>=2.0; extra == "dev"
Requires-Dist: pytest-aiohttp>=1.0; extra == "dev"
Requires-Dist: aiohttp>=3.9; extra == "dev"
Requires-Dist: pyyaml>=6.0; extra == "dev"
Dynamic: license-file

# Safe Colab CLI

**Enable AI agents to analyze your sensitive data remotely — without ever copying it.**

A command-line tool that launches a sandboxed Python environment on your machine (or in the cloud), registers it as a remote service via [Hypha](https://hypha.aicell.io), and lets AI agents execute code through a guardian agent that enforces your sensitivity policy.

## Key Features

- **Guardian Agent** — LLM-powered security checks validate code before execution and output before return
- **Sensitivity Contract** — Define protected columns, minimum aggregation, and allowed operations in a README.md
- **Live Dashboard** — Web dashboard with real-time activity log and operation stats
- **Protected Audit Logs** — Full audit trail in `~/.safe-colab/logs/`, protected from sandboxed code
- **Sandbox Isolation** — nono (macOS/Linux) or Docker restricts kernel filesystem access
- **Remote Hosting** — Upload dataset once, cloud pods spin up on demand (no laptop needed)
- **Zero Config for Agents** — Agents call `get_skill_md` via curl to learn the API. No SDK, no token needed.

## Quick Start

### Local Mode (data stays on your machine)

```bash
pip install safe-colab-cli
safe-colab login
safe-colab start --data-dir ./my-data --guardian-url http://safe-colab-guardian.hypha.aicell.io
```

### Remote Mode (upload once, pods on demand)

```bash
pip install safe-colab-cli
safe-colab login
safe-colab deploy --data-dir ./my-data --guardian-url http://safe-colab-guardian.hypha.aicell.io
# → Uploads dataset, registers app. Share the App ID with your AI agent.
# → Pods spin up automatically when an agent calls start().
```

## Documentation

See the [docs site](https://aicell-lab.github.io/safe-colab-cli/) or the [GitHub project](https://github.com/aicell-lab/safe-colab-cli) for full documentation.

## License

MIT — see [LICENSE](LICENSE). Copyright (c) 2026 AICell Lab.

This is the academic line. The commercial `safe-colab` package, published by
Amun AI AB, carries its own separate terms; this licence does not apply to it.

## Installing alongside `safe-colab`

Amun AI's `safe-colab` package installs console scripts with the same
`safe-colab` / `safe-colab-daemon` names as this one, and pip resolves that
clash silently — whichever was installed last owns the name. The two point at
different guardians, so use the names that cannot be shadowed if you have both:

```bash
safe-colab-cli start --data-dir ./data     # always this package
safe-colab-cli --version
```

Every session banner prints the distribution and path it actually loaded, so you
can confirm which one answered.
