Metadata-Version: 2.4
Name: veox
Version: 0.1.9
Summary: The Incredible ML Client for DOUG - Distributed Evolution with TQDM Experience
Author-email: DOUG Team <team@doug.ai>
License: MIT
Keywords: machine-learning,evolution,optimization,distributed,api-client
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.28.0
Requires-Dist: rich>=12.0.0
Requires-Dist: sseclient-py>=1.7.2
Requires-Dist: tqdm>=4.64.0
Requires-Dist: pydantic>=1.10.0
Requires-Dist: pygments>=2.13.0
Requires-Dist: pandas>=1.5.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: pytest-mock>=3.10.0; extra == "dev"
Requires-Dist: black>=22.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: flake8>=4.0.0; extra == "dev"
Dynamic: license-file

# Veox: The Incredible ML Client for DOUG

Veox is a standalone, pip-installable Python client for DOUG (Distributed Optimization Using GP). It delivers an "incredible" developer experience with a sklearn-style API, real-time TQDM progress bars, and rich terminal output.

## Features

- **sklearn-style API**: Familiar `fit(X, y)` interface with full pandas DataFrame support.
- **Distributed Evolution**: Seamlessly offload heavy computation to the DOUG cluster.
- **Real-time Streaming**: Beautiful TQDM progress bars and live status updates.
- **Built-in Datasets**: Instant access to curated ML datasets (Heart Disease, Titanic, etc.).
- **Code Pulling**: Extract generated pipeline code directly to your local machine.

## Installation

```bash
pip install veox
```

## Usage

### Python API

```python
from veox import Veox
from veox.datasets import load_heart_disease

# Initialize client
client = Veox(api_url="http://localhost:8090")

# Load built-in dataset
X, y = load_heart_disease()

# Run evolution
model = client.fit(X=X, y=y, task="binary", population=50, generations=10)

# Pull best pipeline code
client.pull_code(output_file="best_pipeline.py")
```

### Command Line Interface

```bash
# Run evolution on a CSV file
veox fit --csv my_data.csv --target-column target --task binary --verbose

# Pull code from the last job
veox pull-code --job-id job_abc123 --output pipeline.py
```
