Metadata-Version: 2.4
Name: emg2mcu
Version: 0.1.0
Summary: EMG processing, AutoML classification, and microcontroller model export
License: MIT
Keywords: emg,electromyography,automl,embedded,microcontroller,feature-extraction,signal-processing
Requires-Python: >=3.10
Classifier: License :: OSI Approved :: MIT License
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: Programming Language :: Python :: 3.14
Provides-Extra: dev
Provides-Extra: docs
Requires-Dist: catboost (>=1.2)
Requires-Dist: ipython (>=8.0)
Requires-Dist: joblib (>=1.3)
Requires-Dist: lightgbm (>=4.0)
Requires-Dist: matplotlib (>=3.7)
Requires-Dist: myst-parser (>=3.0) ; extra == "docs"
Requires-Dist: numpy (>=1.24)
Requires-Dist: pandas (>=2.0)
Requires-Dist: pydata-sphinx-theme (>=0.15) ; extra == "docs"
Requires-Dist: scikit-learn (>=1.3)
Requires-Dist: scipy (>=1.10)
Requires-Dist: sphinx (>=7.3) ; extra == "docs"
Requires-Dist: sphinx-autoapi (>=3.1) ; extra == "docs"
Requires-Dist: sphinx-copybutton (>=0.5) ; extra == "docs"
Requires-Dist: sphinx-design (>=0.6) ; extra == "docs"
Requires-Dist: tsfresh (>=0.20)
Requires-Dist: xgboost (>=2.0)
Project-URL: Homepage, https://github.com/LENeR-UEL/EMG2MCU
Project-URL: Repository, https://github.com/LENeR-UEL/EMG2MCU
Description-Content-Type: text/markdown

# EMG2MCU

EMG2MCU provides surface-EMG preprocessing, event segmentation, feature
extraction, model selection, and deployable C++/Arduino model generation.

## Run the example

Install the project and its dependencies in the active Python environment:

```powershell
python -m pip install -e .
```

Open [EMG2MCU_example.ipynb](./example/EMG2MCU_example.ipynb) from the
repository root. It generates a deterministic synthetic recording at runtime,
so no real participant data is needed or included in the repository. The
synthetic signals demonstrate the software pipeline only and are not
physiological data. Generated artifacts are written to the ignored
`output_emg2mcu/` directory.

The main entry point is `EMG2MCU.automl`. Configuration dataclasses and
lower-level processing, plotting, feature, and model utilities are also
available from their corresponding package modules.

## Documentation

The full API reference, configuration dataclasses, and pipeline examples
are published on Read the Docs:

- Stable: <https://emg2mcu.readthedocs.io/en/stable/>
- Latest: <https://emg2mcu.readthedocs.io/en/latest/>
- Source for the documentation lives in [./docs](./docs); see
  [./docs/README.md](./docs/README.md) for how to build it locally.

## Development

Tests run on every pull request across Python 3.10, 3.11, and 3.12 via
[.github/workflows/tests.yml](./.github/workflows/tests.yml). Merging to
`main` triggers [the release workflow](./.github/workflows/release.yml),
which auto-bumps the patch version, publishes to PyPI, builds the Sphinx
docs, and opens a GitHub Release whose body is taken from the merged PR's
`## Changelog` section.

