Metadata-Version: 2.4
Name: maestro-automation
Version: 1.0.4
Summary: Maestro — Automotive Test Automation Framework (web dashboard + adapters)
Author: Maestro Team
License: MIT
Project-URL: Homepage, https://github.com/your-org/maestro
Keywords: test-automation,automotive,ssh,adb,dlt,ecu
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Framework :: FastAPI
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastapi>=0.110
Requires-Dist: uvicorn[standard]>=0.29
Requires-Dist: sqlalchemy>=2.0
Requires-Dist: pydantic>=2.5
Requires-Dist: apscheduler<4,>=3.10
Requires-Dist: paramiko>=2.11
Requires-Dist: cryptography>=42.0
Requires-Dist: websockets>=11.0
Requires-Dist: pyserial>=3.5
Requires-Dist: structlog>=24.1
Requires-Dist: prometheus-client>=0.20
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
Requires-Dist: httpx>=0.27; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file

# 🏁 Maestro — Automotive Test Automation Framework

Maestro consolidates SSH, ADB, bench power control, ETFW, DLT logging, serial
consoles and Windows camera capture into a single browser-based dashboard.
Non-technical users design test cases with drag-and-drop; engineers extend it
through a hot-reloadable plugin system.

## 🚀 Quick start

```bash
# Requirements: Python 3.10+ (3.11.9 recommended), Node.js 18+

cd maestro
pip install -r requirements.txt      # or: pip install poetry && poetry install
python app.py
```

`app.py` installs anything missing, builds the React frontend on first run,
starts the FastAPI backend on **http://localhost:8000** and opens your
browser. That's it.

| URL | What |
|---|---|
| `http://localhost:8000` | Maestro dashboard |
| `http://localhost:8000/api/docs` | Interactive API documentation (Swagger) |
| `http://localhost:8000/metrics` | Prometheus metrics |

## ✨ Highlights

- **4-column drag-and-drop test designer** with pre-built step templates for
  SSH, ADB, power, ignition, ETFW, DLT, camera and serial console
- **Execution engine**: serial / parallel / step-by-step modes, retry with
  exponential backoff, IF/THEN conditional jumps, loops, parallel groups,
  per-device resource locking, sandboxed user scripts
- **Live monitoring** over WebSocket: step status, logs, pause/resume/stop
- **Allure-style HTML reports** with timelines, artifacts and report diffing
- **Scheduling** via cron expressions (APScheduler)
- **Enterprise security**: AES-256-GCM credential vault, 5-role RBAC,
  full audit logging
- **Observability**: structured JSON logs, Prometheus metrics, adapter health
- **Plugin system**: manifest-based adapters, enable/disable, hot reload,
  custom plugins in `data/plugins/`

## 🧪 Development

```bash
# Backend tests
python -m pytest tests/

# Frontend dev server (proxies API to :8000)
cd frontend && npm install && npm run dev

# Frontend tests & build
npm run test && npm run build
```

## 🐳 Docker

```bash
docker compose -f docker/docker-compose.yml up --build
```

## 📚 Documentation

- [USER_GUIDE.md](docs/USER_GUIDE.md) — using the dashboard
- [DEVELOPER_GUIDE.md](docs/DEVELOPER_GUIDE.md) — extending Maestro
- [API_REFERENCE.md](docs/API_REFERENCE.md) — REST/WebSocket API
- [MAESTRO_COMPLETE_ARCHITECTURE.md](MAESTRO_COMPLETE_ARCHITECTURE.md) — full architecture spec

## 📄 License

MIT — see [LICENSE](LICENSE).
