Metadata-Version: 2.4
Name: openautoml
Version: 1.1.2
Summary: OpenAutoML CLI — automate ML from CSV to production API
Author: Angel Nerozzi
License-Expression: MIT
Project-URL: Homepage, https://pypi.org/project/openautoml/
Project-URL: Repository, https://github.com/TheAngelNerozzi/openautoml
Project-URL: Issues, https://github.com/TheAngelNerozzi/openautoml/issues
Keywords: ml,automl,machine-learning,cli,onnx,scikit-learn,xgboost
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: typer[all]>=0.12.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: rich>=13.0.0
Requires-Dist: prompt_toolkit>=3.0.0
Requires-Dist: pygments>=2.17.0

# OpenAutoML CLI

**Automate ML from CSV to Production API** — Claude Code-style terminal interface.

[![PyPI version](https://img.shields.io/pypi/v/openautoml.svg)](https://pypi.org/project/openautoml/)
[![Python](https://img.shields.io/pypi/pyversions/openautoml.svg)](https://pypi.org/project/openautoml/)
[![License](https://img.shields.io/pypi/l/openautoml.svg)](https://github.com/openautoml/openautoml/blob/main/LICENSE)

## Installation

```bash
pip install openautoml
```

## Quick Start

```bash
# Initialize configuration (connects to your orchestrator)
openautoml init --host localhost --port 3030

# Train a model from a CSV file
openautoml train data.csv --target price

# Make predictions
openautoml predict <job_id> --data '[{"feature1": 1.0, "feature2": 2.5}]'

# Export to ONNX
openautoml export <job_id>

# List models and datasets
openautoml models
openautoml datasets
```

## Interactive REPL

Running `openautoml` without arguments launches an interactive REPL with:

- **Slash commands** — `/train`, `/predict`, `/models`, `/export`, `/help`, etc.
- **Natural language** — *"train my data.csv with target price"*
- **Tab completion** — auto-complete commands and aliases
- **Rich output** — tables, panels, progress bars, status badges

```bash
openautoml
```

```
   ◆ OpenAutoML  ─  Automate ML from CSV to Production API

  ◆ openautoml > /help          # Show all commands
  ◆ openautoml > train data.csv --target label
  ◆ openautoml > explain <job>  # Feature importance
  ◆ openautoml > benchmark data.csv --target label  # Compare algorithms
  ◆ openautoml > /quit
```

## Commands

| Command | Description |
|---------|-------------|
| `openautoml init [--host H] [--port P]` | Initialize configuration |
| `openautoml train FILE --target COL [--model TYPE]` | Train a model |
| `openautoml predict JOB [--data JSON]` | Make predictions |
| `openautoml status [JOB]` | Check job status |
| `openautoml models` | List trained models |
| `openautoml datasets` | List uploaded datasets |
| `openautoml export JOB [--format onnx\|pickle\|model_card]` | Export model |
| `openautoml explain JOB` | Feature importance & insights |
| `openautoml benchmark FILE --target COL` | Compare algorithms |
| `openautoml logs JOB` | View training logs |
| `openautoml delete (job\|model) ID` | Delete resource |
| `openautoml cancel JOB` | Cancel running job |
| `openautoml health` | Check orchestrator health |
| `openautoml config` | View configuration |
| `openautoml version` | Show version |

## Supported Algorithms

- `random_forest` — Random Forest (default)
- `gradient_boosting` — Gradient Boosting
- `xgboost` — XGBoost
- `logistic_regression` — Logistic Regression
- `linear_regression` — Linear Regression
- `auto` — Auto-select best algorithm

## Export Formats

- **ONNX** (default) — Standard format for production deployment
- **Pickle** — Python joblib serialization
- **Model Card** — JSON metadata card with metrics and feature importance

## Requirements

- Python 3.10+
- An OpenAutoML orchestrator running (self-hosted or cloud)

## License

MIT
