Metadata-Version: 2.4
Name: pymeu
Version: 0.2.1
Summary: Python ME Utility
Author-email: aawilliams85 <adair.williams85@gmail.com>
License: MIT License
        
        Copyright (c) 2024 aawilliams85
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Repository, https://github.com/aawilliams85/pymeu.git
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pycomm3
Dynamic: license-file

# pymeu

PyMEU (Python ME Utility) is a library for interfacing with Rockwell Automation 2711P PanelView Plus HMIs.<br>
See [Compatibility](compatibility.md) for more details.  Use at your own risk.<br>

Looking for a desktop application?  See dmroeder's [pymeu_gui](https://github.com/dmroeder/pymeu_gui).<br>

## Installation

To install from pip:
```console
pip install pymeu
```

To upgrade from pip:
```console
pip install pymeu --upgrade
```

## Basic Examples

Use the download function to transfer a *.MER file to the remote terminal:

```python
from pymeu import MEUtility
meu = MEUtility('YourPanelViewIpAddress')
meu.download('C:\\YourFolder\\YourProgram.mer')
```

Use the upload function to transfer a *.MER file from the remote terminal:

```python
from pymeu import MEUtility
meu = MEUtility('YourPanelViewIpAddress')
meu.upload('C:\\YourFolder\\YourProgram.mer')
```

Use the upload all function to transfer all *.MER files from the remote terminal:

```python
from pymeu import MEUtility
meu = MEUtility('YourPanelViewIpAddress')
meu.upload_all('C:\\YourFolder')
```

Use the reboot function to restart the remote terminal:

```python
from pymeu import MEUtility
meu = MEUtility('YourPanelViewIpAddress')
meu.reboot()
```

## Bug Reports

If filing bug reports, please include this terminal info report.
Output should be generated similar to below:

```python
from pymeu import MEUtility
meu = MEUtility('YourPanelViewIpAddress')
meu.get_terminal_info(print_log=True, redact_log=True)

"""
Terminal product type: 24.
Terminal product code: 51.
Terminal product name: PanelView Plus_6 1500.
Terminal helper version: 11.00.00.
Terminal ME version: 11.00.25.230.
Terminal major version: 11.
Terminal minor version: 1.
Terminal has 75040768 free bytes.
Terminal has MED files: ['Redacted'].
Terminal has MER files: ['Redacted', 'Redacted', 'Redacted'].
Terminal startup file: Redacted.
"""

```

## Contributing

Contributions welcome!<br>
Ideas, code, hardware testing, bug reports, etc<br>

## Acknowledgements

**[dmroeder](https://github.com/dmroeder)** for pylogix, inspiring the creation of this tool, python guidance, and various direct contributions for better functionality and compatibility. <br>
**[ottowayi](https://github.com/ottowayi)** for pycomm3 and various CIP reference materials.
