Metadata-Version: 2.4
Name: MTPPy2.0
Version: 0.2.0
Summary: Open-source modular automation with MTP 2.0
Author: Dresden University of Technology, Process-to-Order Group
Author-email: Julius Lorenz <julius.lorenz@tu-dresden.de>, Leon Urbas <leon.urbas@tu-dresden.de>
License-Expression: MIT
Project-URL: Homepage, https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0
Project-URL: Issues, https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/boards
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Manufacturing
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: opcua~=0.98.13
Requires-Dist: jsonschema>=4.26.0
Requires-Dist: chardet>=7.6.0
Requires-Dist: aiohttp>=3.12.0
Requires-Dist: pymodbus>=3.15.0
Requires-Dist: simple-pid>=2.0.1
Requires-Dist: pymodbus>=3.15.0
Dynamic: license-file

# MTPPy2.0

MTPPy2.0 is a redesign and evolution of the famous MTPPy1.0 repository. The objectives of this project are to provide 

1. a playground that helps to getting started with the MTP, and 
2. a reference implementation for the MTP 2.0 which allows discussions on the advancement of the specification based on accessible and sharable evidence and experience. 

Towards that end MTPPy2.0 implements several parts of the PNO MTP 2.0 specification, namely Part 1 (Definitions), Part 3 (Data Object Library), Part 4 (Services), and an initial static `AlarmSet.Base` subset of Part 6 (Alarms and Events). See the [docs](https://aas-demo.p2o-lab.ifa.et.tu-dresden.de/mtppy2.0/index.html) for further details.

## Status
[![Latest Release](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/badges/release.svg)](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/releases)
[![coverage report](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/badges/main/coverage.svg)](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/commits/main)

## License
MTPPy2.0 is licensed under the [MIT license](./LICENSE). 

## Getting Started

### End-Users 
- create a virtual environment and install the MTTPy package from PyPI
```shell
uv init
uv add MTPPy2.0
```
- Visit the [tutorial](https://aas-demo.p2o-lab.ifa.et.tu-dresden.de/mtppy2.0/tutorial/) 
  that allows you to dive right in into PEA development without needing to 
  read 10000+ pages of specification.  
- Have fun and support the MTP community with your feedback.

### Developers
- Check out ``main`` from the [gitlab repository](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0)
- Run `uv sync --all-groups` to set up the virtual environment `mtppy2-0` and install
  all the required packages for running and development
- You might want to inspect the examples in ``./examples`` and perhaps the jupyter-notebook snippets in 
  ``./snippets``

### Contributors
- Check out ``develop`` from the [gitlab repository](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0)
- Run `uv sync --all-groups` to set up the virtual environment `mtppy2-0` and install
  all the required packages for running and development
- Study the [developer handbook](https://aas-demo.p2o-lab.ifa.et.tu-dresden.de/mtppy2.0/developer/developer/) 
- Feel invited to contribute by 
    - joining the development on a certain [branch](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/branches), or by
    - selecting an [open issue](https://gitlab.hrz.tu-chemnitz.de/process-to-order-group/mtppy2.0/-/boards?milestone_title=Started&types=ISSUE), create your branch and provide a solution




