Metadata-Version: 2.4
Name: maestro-framework
Version: 0.1.0
Summary: MAESTRO — Modular Automotive Embedded System Test, Reporting & Orchestration: an offline-capable platform for automotive Hardware-in-the-Loop (HIL) and embedded device testing (visual designer + pytest engine + server + web UI + mini-tools).
Project-URL: Homepage, https://github.com/NVNKENNEDY/maestro
Project-URL: Source, https://github.com/NVNKENNEDY/maestro
Author-email: Naveen Daniel Kennedy <nvnkennedy@gmail.com>
License-Expression: MIT
Keywords: adb,android,automotive,embedded,endurance,fastapi,hil,pytest,qnx,ssh,test-automation
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: System :: Hardware
Requires-Python: >=3.11
Requires-Dist: adbutils<3,>=2.12
Requires-Dist: alembic<2,>=1.13
Requires-Dist: allure-pytest<3,>=2.16
Requires-Dist: apscheduler<4,>=3.11
Requires-Dist: email-validator>=2.1
Requires-Dist: fastapi<1,>=0.136
Requires-Dist: httpx<1,>=0.28
Requires-Dist: jinja2<4,>=3.1
Requires-Dist: paramiko<6,>=5.0
Requires-Dist: pydantic-settings<3,>=2.14
Requires-Dist: pydantic<3,>=2.13
Requires-Dist: pyjwt<3,>=2.9
Requires-Dist: pyserial<4,>=3.5
Requires-Dist: pytest-check<3,>=2.8
Requires-Dist: pytest-rerunfailures<17,>=16
Requires-Dist: pytest-xdist<4,>=3.8
Requires-Dist: pytest<10,>=9.1
Requires-Dist: python-multipart>=0.0.9
Requires-Dist: sqlalchemy<3,>=2.0
Requires-Dist: tomli-w<2,>=1.2
Requires-Dist: uvicorn[standard]<1,>=0.49
Provides-Extra: hardware
Requires-Dist: opencv-python<5,>=4.10; extra == 'hardware'
Requires-Dist: pygrabber<1,>=0.2; extra == 'hardware'
Provides-Extra: reportportal
Requires-Dist: pytest-reportportal<6,>=5.4; extra == 'reportportal'
Description-Content-Type: text/markdown

# MAESTRO

**Modular Automotive Embedded System Test, Reporting & Orchestration.**

*MAESTRO* is an open-source, offline-capable test-automation platform for
automotive Hardware-in-the-Loop (HIL) and embedded device testing. Like a maestro
leading an orchestra, it conducts your devices, scenarios, and endurance cycles
from one visual canvas — fitting for automotive infotainment, where the head unit
conducts the vehicle's audio, video, and connectivity.

Design test cases visually on a canvas (no code), run them on real or fake
devices through a `pytest` engine, and get detailed step-level reports with inline
attachments and first-class endurance/stability cycles. Results can be emailed and
pushed to Jira/Xray.

## Install

```bash
pip install maestro-framework
# optional: real webcam capture (OpenCV / DirectShow)
pip install "maestro-framework[hardware]"
```

## Run

```bash
maestro
```

This starts the API and serves the bundled web UI, then opens your browser.

## Headless (no server / no UI)

```bash
maestro-core run scenario.json --bench bench.toml
```

## Mini-tools (drive a device without the framework)

```bash
maestro-tool list
maestro-tool invoke turbossh --command "uname -a" --set host=10.0.0.5 --set user=root
```

MAESTRO calls your existing device tools (`turboadb`, `turbossh`, power/DLT
scripts) through thin adapters — keep them on `PATH`. A hardware-free demo bench of
fake drivers is included so everything runs end to end with no hardware.

> Installs as `maestro-framework`; the Python modules are `maestro_core`,
> `maestro_server`, and `maestro_tools`, and the console commands are `maestro`,
> `maestro-core`, and `maestro-tool`.

License: MIT © 2026 Naveen Daniel Kennedy
