Metadata-Version: 2.4
Name: pyrung
Version: 0.0.1
Summary: A Pythonic Ladder Logic Framework
Project-URL: Repository, https://github.com/ssweber/pyrung
Author-email: ssweber <57631333+ssweber@users.noreply.github.com>
License-Expression: MPL-2.0
License-File: LICENSE
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: <4.0,>=3.11
Description-Content-Type: text/markdown

# Pyrung

A Python DSL (Domain Specific Language) for representing and simulating Ladder Logic. Pyrung provides a Pythonic way to write PLC programs for simulation, testing, and documentation purposes.

## Status

PLANNING ONLY * INITIAL COMMIT

## Goals

- Provide a readable, Pythonic syntax for ladder logic
- Enable simulation and testing of PLC programs without physical hardware
- Support documentation and validation of PLC logic

## Quick Example

```python
from pyrung import *

Button = Bool("Button")
Light = Bool("Light")

with Program() as logic:
    with Rung(Button):
        out(Light)

runner = PLCRunner(logic)
runner.set_time_mode(TimeMode.FIXED_STEP, dt=0.1)
runner.patch({"Button": True})
runner.step()
```
