# pyrung > Pythonic PLC simulation engine — write ladder logic in Python, simulate with full debug support. ## Overview - [Home](https://ssweber.github.io/pyrung/index.md) ## Getting Started - [Core Concepts](https://ssweber.github.io/pyrung/getting-started/concepts/index.md) - [Installation](https://ssweber.github.io/pyrung/getting-started/installation/index.md) - [Quickstart](https://ssweber.github.io/pyrung/getting-started/quickstart/index.md) ## Guides - [Architecture](https://ssweber.github.io/pyrung/guides/architecture/index.md) - [DAP Debugger in VS Code](https://ssweber.github.io/pyrung/guides/dap-vscode/index.md) - [Forces](https://ssweber.github.io/pyrung/guides/forces-debug/index.md) - [Ladder Logic Reference](https://ssweber.github.io/pyrung/guides/ladder-logic/index.md) - [Runner](https://ssweber.github.io/pyrung/guides/runner/index.md) - [Tag Structures](https://ssweber.github.io/pyrung/guides/tag-structures/index.md) - [Testing](https://ssweber.github.io/pyrung/guides/testing/index.md) ## Dialects - [CircuitPython](https://ssweber.github.io/pyrung/dialects/circuitpy/index.md) - [Click Ladder CSV Contract](https://ssweber.github.io/pyrung/dialects/click-ladder-csv/index.md) - [Click PLC](https://ssweber.github.io/pyrung/dialects/click/index.md) ## API Reference - [Overview](https://ssweber.github.io/pyrung/reference/index.md) - [CircuitPython Dialect API](https://ssweber.github.io/pyrung/reference/api/circuitpy-dialect/index.md) - [Click Dialect API](https://ssweber.github.io/pyrung/reference/api/click-dialect/index.md) - [Core](https://ssweber.github.io/pyrung/reference/api/core/index.md) - [Dap](https://ssweber.github.io/pyrung/reference/api/dap/index.md) - [Data Model API](https://ssweber.github.io/pyrung/reference/api/data-model/index.md) - [Instruction Set API](https://ssweber.github.io/pyrung/reference/api/instruction-set/index.md) - [Program Structure API](https://ssweber.github.io/pyrung/reference/api/program-structure/index.md) - [Runtime API](https://ssweber.github.io/pyrung/reference/api/runtime/index.md) - [Catalog](https://ssweber.github.io/pyrung/reference/api/circuitpy/catalog/index.md) - [Codegen](https://ssweber.github.io/pyrung/reference/api/circuitpy/codegen/index.md) - [Hardware](https://ssweber.github.io/pyrung/reference/api/circuitpy/hardware/index.md) - [P1am](https://ssweber.github.io/pyrung/reference/api/circuitpy/p1am/index.md) - [Validation](https://ssweber.github.io/pyrung/reference/api/circuitpy/validation/index.md) - [ constants](https://ssweber.github.io/pyrung/reference/api/circuitpy/codegen/_constants/index.md) - [ util](https://ssweber.github.io/pyrung/reference/api/circuitpy/codegen/_util/index.md) - [Compile](https://ssweber.github.io/pyrung/reference/api/circuitpy/codegen/compile/index.md) - [Context](https://ssweber.github.io/pyrung/reference/api/circuitpy/codegen/context/index.md) - [Generate](https://ssweber.github.io/pyrung/reference/api/circuitpy/codegen/generate/index.md) - [Render](https://ssweber.github.io/pyrung/reference/api/circuitpy/codegen/render/index.md) - [Board](https://ssweber.github.io/pyrung/reference/api/circuitpy/p1am/board/index.md) - [Capabilities](https://ssweber.github.io/pyrung/reference/api/click/capabilities/index.md) - [Data provider](https://ssweber.github.io/pyrung/reference/api/click/data_provider/index.md) - [Ladder](https://ssweber.github.io/pyrung/reference/api/click/ladder/index.md) - [Profile](https://ssweber.github.io/pyrung/reference/api/click/profile/index.md) - [Send receive](https://ssweber.github.io/pyrung/reference/api/click/send_receive/index.md) - [System mappings](https://ssweber.github.io/pyrung/reference/api/click/system_mappings/index.md) - [Tag map](https://ssweber.github.io/pyrung/reference/api/click/tag_map/index.md) - [Validation](https://ssweber.github.io/pyrung/reference/api/click/validation/index.md) - [ source](https://ssweber.github.io/pyrung/reference/api/core/_source/index.md) - [Condition](https://ssweber.github.io/pyrung/reference/api/core/condition/index.md) - [Condition trace](https://ssweber.github.io/pyrung/reference/api/core/condition_trace/index.md) - [Context](https://ssweber.github.io/pyrung/reference/api/core/context/index.md) - [Copy modifiers](https://ssweber.github.io/pyrung/reference/api/core/copy_modifiers/index.md) - [Debug handlers](https://ssweber.github.io/pyrung/reference/api/core/debug_handlers/index.md) - [Debug trace](https://ssweber.github.io/pyrung/reference/api/core/debug_trace/index.md) - [Debugger](https://ssweber.github.io/pyrung/reference/api/core/debugger/index.md) - [Debugger protocol](https://ssweber.github.io/pyrung/reference/api/core/debugger_protocol/index.md) - [Expression](https://ssweber.github.io/pyrung/reference/api/core/expression/index.md) - [History](https://ssweber.github.io/pyrung/reference/api/core/history/index.md) - [Input overrides](https://ssweber.github.io/pyrung/reference/api/core/input_overrides/index.md) - [Instruction](https://ssweber.github.io/pyrung/reference/api/core/instruction/index.md) - [Live binding](https://ssweber.github.io/pyrung/reference/api/core/live_binding/index.md) - [Memory block](https://ssweber.github.io/pyrung/reference/api/core/memory_block/index.md) - [Program](https://ssweber.github.io/pyrung/reference/api/core/program/index.md) - [Rung](https://ssweber.github.io/pyrung/reference/api/core/rung/index.md) - [Runner](https://ssweber.github.io/pyrung/reference/api/core/runner/index.md) - [State](https://ssweber.github.io/pyrung/reference/api/core/state/index.md) - [Structure](https://ssweber.github.io/pyrung/reference/api/core/structure/index.md) - [System points](https://ssweber.github.io/pyrung/reference/api/core/system_points/index.md) - [Tag](https://ssweber.github.io/pyrung/reference/api/core/tag/index.md) - [Time mode](https://ssweber.github.io/pyrung/reference/api/core/time_mode/index.md) - [Trace formatter](https://ssweber.github.io/pyrung/reference/api/core/trace_formatter/index.md) - [Validation](https://ssweber.github.io/pyrung/reference/api/core/validation/index.md) - [Advanced](https://ssweber.github.io/pyrung/reference/api/core/instruction/advanced/index.md) - [Base](https://ssweber.github.io/pyrung/reference/api/core/instruction/base/index.md) - [Calc](https://ssweber.github.io/pyrung/reference/api/core/instruction/calc/index.md) - [Coils](https://ssweber.github.io/pyrung/reference/api/core/instruction/coils/index.md) - [Control](https://ssweber.github.io/pyrung/reference/api/core/instruction/control/index.md) - [Conversions](https://ssweber.github.io/pyrung/reference/api/core/instruction/conversions/index.md) - [Counters](https://ssweber.github.io/pyrung/reference/api/core/instruction/counters/index.md) - [Data transfer](https://ssweber.github.io/pyrung/reference/api/core/instruction/data_transfer/index.md) - [Drums](https://ssweber.github.io/pyrung/reference/api/core/instruction/drums/index.md) - [Packing](https://ssweber.github.io/pyrung/reference/api/core/instruction/packing/index.md) - [Resolvers](https://ssweber.github.io/pyrung/reference/api/core/instruction/resolvers/index.md) - [Timers](https://ssweber.github.io/pyrung/reference/api/core/instruction/timers/index.md) - [Utils](https://ssweber.github.io/pyrung/reference/api/core/instruction/utils/index.md) - [Builders](https://ssweber.github.io/pyrung/reference/api/core/program/builders/index.md) - [Conditions](https://ssweber.github.io/pyrung/reference/api/core/program/conditions/index.md) - [Context](https://ssweber.github.io/pyrung/reference/api/core/program/context/index.md) - [Decorators](https://ssweber.github.io/pyrung/reference/api/core/program/decorators/index.md) - [Instructions](https://ssweber.github.io/pyrung/reference/api/core/program/instructions/index.md) - [Validation](https://ssweber.github.io/pyrung/reference/api/core/program/validation/index.md) - [Walker](https://ssweber.github.io/pyrung/reference/api/core/validation/walker/index.md) - [Adapter](https://ssweber.github.io/pyrung/reference/api/dap/adapter/index.md) - [Args](https://ssweber.github.io/pyrung/reference/api/dap/args/index.md) - [Breakpoints](https://ssweber.github.io/pyrung/reference/api/dap/breakpoints/index.md) - [Execution flow](https://ssweber.github.io/pyrung/reference/api/dap/execution_flow/index.md) - [Expressions](https://ssweber.github.io/pyrung/reference/api/dap/expressions/index.md) - [Formatter](https://ssweber.github.io/pyrung/reference/api/dap/formatter/index.md) - [Handlers](https://ssweber.github.io/pyrung/reference/api/dap/handlers/index.md) - [Protocol](https://ssweber.github.io/pyrung/reference/api/dap/protocol/index.md) - [Session](https://ssweber.github.io/pyrung/reference/api/dap/session/index.md) - [Breakpoint requests](https://ssweber.github.io/pyrung/reference/api/dap/handlers/breakpoint_requests/index.md) - [Lifecycle launch](https://ssweber.github.io/pyrung/reference/api/dap/handlers/lifecycle_launch/index.md) - [Monitor data breakpoints](https://ssweber.github.io/pyrung/reference/api/dap/handlers/monitor_data_breakpoints/index.md) - [Stack variables evaluate](https://ssweber.github.io/pyrung/reference/api/dap/handlers/stack_variables_evaluate/index.md)