wirely 0.1.3__tar.gz → 0.1.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {wirely-0.1.3 → wirely-0.1.4}/CHANGELOG.md +56 -0
- {wirely-0.1.3 → wirely-0.1.4}/MANIFEST.in +3 -2
- {wirely-0.1.3/wirely.egg-info → wirely-0.1.4}/PKG-INFO +24 -7
- {wirely-0.1.3 → wirely-0.1.4}/README.md +21 -5
- {wirely-0.1.3 → wirely-0.1.4}/doc/bytecode-format.md +420 -210
- {wirely-0.1.3 → wirely-0.1.4}/doc/compiler-stages.md +43 -15
- {wirely-0.1.3 → wirely-0.1.4}/doc/diagram-layout.md +3 -3
- {wirely-0.1.3 → wirely-0.1.4}/doc/language.md +272 -82
- {wirely-0.1.3 → wirely-0.1.4}/doc/libraries.md +66 -55
- wirely-0.1.4/doc/native-python.md +544 -0
- {wirely-0.1.3 → wirely-0.1.4}/doc/python-style.md +2 -0
- wirely-0.1.4/doc/tests.md +118 -0
- {wirely-0.1.3 → wirely-0.1.4}/doc/value-types.md +112 -78
- {wirely-0.1.3 → wirely-0.1.4}/doc/wirely-style.md +5 -5
- {wirely-0.1.3 → wirely-0.1.4}/examples/test.wrl +13 -17
- {wirely-0.1.3 → wirely-0.1.4}/pyproject.toml +19 -4
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/arithmetic.wrl +3 -3
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/assertions.wrl +3 -3
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/attributes.wrl +5 -5
- wirely-0.1.4/tests/compiler/bindings.wrl +42 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/bitwise.wrl +15 -1
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/blocks.wrl +2 -2
- wirely-0.1.4/tests/compiler/changed.wrl +42 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/constant_expressions.wrl +17 -17
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/constants.wrl +12 -12
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/conversions.wrl +6 -3
- wirely-0.1.4/tests/compiler/durations.wrl +42 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/equality.wrl +6 -6
- wirely-0.1.4/tests/compiler/events.wrl +152 -0
- wirely-0.1.4/tests/compiler/knx.wrl +31 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/length.wrl +3 -3
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/library_settings.wrl +9 -9
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/literals.wrl +10 -2
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/multi_procedures.wrl +1 -1
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/namespaces.wrl +23 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/native_functions.wrl +2 -2
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/options.wrl +2 -2
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/ordering.wrl +2 -2
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/parameters.wrl +38 -38
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/path.wrl +3 -3
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/prepared_configuration.wrl +10 -13
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/runtime_limits.wrl +5 -5
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/static_sources.wrl +2 -2
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/syntax.wrl +12 -4
- wirely-0.1.4/tests/compiler/time_of_day.wrl +40 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/types.wrl +66 -25
- wirely-0.1.4/tests/compiler/warnings.wrl +200 -0
- wirely-0.1.4/tests/compiler/warnings_allowed.wrl +11 -0
- wirely-0.1.4/tests/infra/native_extension/compiler/generated/__init__.py +11 -0
- wirely-0.1.4/tests/infra/native_extension/compiler/generated/_bindings.py +10 -0
- wirely-0.1.4/tests/infra/native_extension/compiler/generated/_contracts/__init__.py +1 -0
- wirely-0.1.4/tests/infra/native_extension/functions/test_library.py +18 -0
- wirely-0.1.4/tests/infra/native_extension/generated/__init__.py +22 -0
- wirely-0.1.4/tests/infra/native_extension/generated/_bindings.py +55 -0
- wirely-0.1.4/tests/infra/native_extension/generated/_signatures.py +28 -0
- wirely-0.1.4/tests/infra/native_extension/generated/enums.py +12 -0
- wirely-0.1.4/tests/infra/native_extension/generated/structs.py +21 -0
- wirely-0.1.4/tests/infra/native_extension/generated/test_library.py +108 -0
- wirely-0.1.4/tests/infra/native_extension/library.wrl +12 -0
- wirely-0.1.4/tests/infra/native_extension/native/__init__.py +0 -0
- wirely-0.1.4/tests/infra/native_extension/native/test_library.py +9 -0
- wirely-0.1.4/tests/infra/runner/__init__.py +1 -0
- wirely-0.1.4/tests/infra/runner/__main__.py +83 -0
- wirely-0.1.4/tests/infra/runner/diagnostics.py +170 -0
- wirely-0.1.4/tests/infra/runner/execution.py +195 -0
- wirely-0.1.4/tests/infra/runner/parallel.py +222 -0
- wirely-0.1.4/tests/infra/runner/registry.py +181 -0
- wirely-0.1.4/tests/infra/runner/services.py +242 -0
- wirely-0.1.4/tests/infra/support.py +134 -0
- wirely-0.1.4/tests/misc/type_check.py +9 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/arithmetic.wrl +19 -19
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/assertions.wrl +16 -16
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/attributes.wrl +90 -63
- wirely-0.1.4/tests/negative/bindings.wrl +105 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/bitwise.wrl +16 -16
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/blocks.wrl +1 -1
- wirely-0.1.4/tests/negative/changed.wrl +95 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/connections.wrl +28 -28
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/constant_expressions.wrl +15 -15
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/constants.wrl +36 -36
- wirely-0.1.4/tests/negative/conversions.wrl +57 -0
- wirely-0.1.4/tests/negative/durations.wrl +45 -0
- wirely-0.1.4/tests/negative/enum_declarations.wrl +285 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/enum_literals.wrl +7 -7
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/integer_literals.wrl +18 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/length.wrl +11 -11
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/library_settings.wrl +18 -18
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/monotonic_time.wrl +13 -14
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/multi_procedures.wrl +2 -2
- wirely-0.1.4/tests/negative/native_functions.wrl +118 -0
- wirely-0.1.4/tests/negative/native_initializers.wrl +149 -0
- wirely-0.1.4/tests/negative/native_procedures.wrl +50 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/native_values.wrl +13 -13
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/node_declarations.wrl +36 -36
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/node_types.wrl +19 -4
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/option_literals.wrl +4 -3
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/option_properties.wrl +21 -20
- wirely-0.1.4/tests/negative/optional_forwarding.wrl +93 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/optional_outputs.wrl +14 -7
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/options.wrl +10 -10
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/parameters.wrl +6 -6
- wirely-0.1.4/tests/negative/path.wrl +19 -0
- wirely-0.1.4/tests/negative/prepared_configuration.wrl +121 -0
- wirely-0.1.4/tests/negative/procedure_ports.wrl +575 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/procedures.wrl +37 -40
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/resource_connections.wrl +4 -4
- wirely-0.1.4/tests/negative/resource_declarations.wrl +252 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/resource_value_types.wrl +6 -6
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/runtime_limits.wrl +8 -8
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/runtime_types.wrl +10 -10
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/state_connections.wrl +7 -7
- wirely-0.1.4/tests/negative/string_literals.wrl +131 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/structs.wrl +93 -49
- wirely-0.1.4/tests/negative/time_of_day.wrl +22 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/type_comparisons.wrl +35 -34
- wirely-0.1.4/tests/repo/bytecode_format.py +20 -0
- wirely-0.1.4/tests/repo/files.py +30 -0
- wirely-0.1.4/tests/repo/native_types.py +22 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/analysis.py +55 -35
- wirely-0.1.4/tests/unit/compiler_api.py +301 -0
- wirely-0.1.4/tests/unit/compiler_warnings.py +99 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/container.py +2 -2
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/control.py +3 -3
- wirely-0.1.4/tests/unit/control.wrl +13 -0
- wirely-0.1.4/tests/unit/csv.py +97 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/editing.py +61 -25
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/editor.py +30 -3
- wirely-0.1.4/tests/unit/editor_cache.py +110 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/editor_widgets.py +14 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/editor_workspace.py +2 -2
- wirely-0.1.4/tests/unit/engine_wakeup.py +101 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/engine_wakeup.wrl +1 -1
- wirely-0.1.4/tests/unit/format_records.py +102 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/instructions.py +49 -44
- wirely-0.1.4/tests/unit/library_configuration.py +579 -0
- wirely-0.1.4/tests/unit/monotonic_timestamp.py +82 -0
- wirely-0.1.4/tests/unit/native_contracts.py +277 -0
- wirely-0.1.4/tests/unit/native_extensions.py +253 -0
- wirely-0.1.4/tests/unit/native_interface.py +1378 -0
- wirely-0.1.4/tests/unit/native_values.py +337 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/negative_cases.py +25 -23
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/outline.py +21 -6
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/procedures.py +152 -75
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/procedures.wrl +57 -57
- wirely-0.1.4/tests/unit/resources.py +409 -0
- wirely-0.1.4/tests/unit/runtime_program.py +351 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/serialization.py +66 -45
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/state_connections.py +82 -60
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/test_resources.py +31 -28
- wirely-0.1.4/tests/unit/types.py +673 -0
- wirely-0.1.4/tests/unit/wall_clock.py +531 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/abb.py +12 -4
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/bitwise.py +2 -2
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/bitwise.wrl +9 -1
- wirely-0.1.4/tests/wrl/changed.py +46 -0
- wirely-0.1.4/tests/wrl/changed.wrl +52 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/csv.py +109 -16
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/delay.wrl +5 -5
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/equality.py +23 -22
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/equality.wrl +21 -20
- wirely-0.1.4/tests/wrl/event_bindings.py +46 -0
- wirely-0.1.4/tests/wrl/event_bindings.wrl +82 -0
- wirely-0.1.4/tests/wrl/events.py +44 -0
- wirely-0.1.4/tests/wrl/events.wrl +116 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/flipflop.py +0 -1
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/gpio.py +1 -4
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/knx.py +112 -7
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/knx.wrl +110 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/knx_time.py +3 -4
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/length.py +1 -5
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/length.wrl +1 -1
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/mqtt.py +6 -8
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/option.py +21 -3
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/option.wrl +17 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/process.py +1 -2
- wirely-0.1.4/tests/wrl/std.py +91 -0
- wirely-0.1.4/tests/wrl/std.wrl +34 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/time.py +170 -82
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/time.wrl +8 -1
- wirely-0.1.4/tools/generate-native-types +75 -0
- {wirely-0.1.3 → wirely-0.1.4}/tools/run-tests +10 -3
- {wirely-0.1.3 → wirely-0.1.4}/tools/run-tests-dependencies +10 -2
- {wirely-0.1.3 → wirely-0.1.4}/wirely/__init__.py +2 -2
- {wirely-0.1.3 → wirely-0.1.4}/wirely/__main__.py +3 -1
- wirely-0.1.4/wirely/cli/__init__.py +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/cli/client.py +13 -10
- wirely-0.1.4/wirely/cli/compile_command.py +57 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/cli/edit.py +2 -1
- {wirely-0.1.3 → wirely-0.1.4}/wirely/cli/export_image.py +2 -1
- {wirely-0.1.3 → wirely-0.1.4}/wirely/cli/objdump.py +4 -3
- {wirely-0.1.3 → wirely-0.1.4}/wirely/cli/run.py +19 -16
- {wirely-0.1.3 → wirely-0.1.4}/wirely/cli/service.py +5 -3
- wirely-0.1.4/wirely/compiler/__init__.py +166 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/analysis.py +98 -60
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/ast/__init__.py +12 -2
- wirely-0.1.4/wirely/compiler/ast/base.py +193 -0
- wirely-0.1.4/wirely/compiler/ast/functions.py +97 -0
- wirely-0.1.4/wirely/compiler/ast/library.py +96 -0
- wirely-0.1.4/wirely/compiler/ast/node_types.py +71 -0
- wirely-0.1.4/wirely/compiler/ast/nodes.py +351 -0
- wirely-0.1.4/wirely/compiler/ast/parameter_declarations.py +72 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/ast/ports.py +37 -34
- wirely-0.1.4/wirely/compiler/ast/procedures.py +531 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/ast/scope.py +65 -39
- wirely-0.1.4/wirely/compiler/ast/specifiers.py +102 -0
- wirely-0.1.4/wirely/compiler/ast/type_declarations.py +256 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/ast/values.py +128 -110
- wirely-0.1.4/wirely/compiler/attributes.py +390 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/coordinator.py +75 -50
- wirely-0.1.4/wirely/compiler/diagnostics.py +164 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/editing.py +237 -145
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/expressions.py +530 -231
- wirely-0.1.4/wirely/compiler/extensions.py +42 -0
- wirely-0.1.4/wirely/compiler/function_implementations/csv.py +11 -0
- wirely-0.1.4/wirely/compiler/function_implementations/knx.py +27 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/function_implementations/mqtt.py +15 -9
- wirely-0.1.4/wirely/compiler/function_implementations/path.py +22 -0
- wirely-0.1.4/wirely/compiler/function_implementations/schedule.py +7 -0
- wirely-0.1.4/wirely/compiler/function_implementations/std.py +49 -0
- wirely-0.1.4/wirely/compiler/function_implementations/test.py +70 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/function_implementations/two_n.py +10 -8
- wirely-0.1.4/wirely/compiler/generated/__init__.py +30 -0
- wirely-0.1.4/wirely/compiler/generated/_bindings.py +143 -0
- wirely-0.1.4/wirely/compiler/generated/_contracts/__init__.py +1 -0
- wirely-0.1.4/wirely/compiler/generated/_contracts/csv.py +41 -0
- wirely-0.1.4/wirely/compiler/generated/_contracts/knx.py +98 -0
- wirely-0.1.4/wirely/compiler/generated/_contracts/mqtt.py +71 -0
- wirely-0.1.4/wirely/compiler/generated/_contracts/path.py +96 -0
- wirely-0.1.4/wirely/compiler/generated/_contracts/schedule.py +45 -0
- wirely-0.1.4/wirely/compiler/generated/_contracts/std.py +44 -0
- wirely-0.1.4/wirely/compiler/generated/_contracts/test.py +181 -0
- wirely-0.1.4/wirely/compiler/generated/_contracts/two_n.py +69 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/graph.py +124 -66
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/instance.py +170 -108
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/model.py +140 -4
- wirely-0.1.4/wirely/compiler/native_contracts.py +1125 -0
- wirely-0.1.4/wirely/compiler/native_functions.py +246 -0
- wirely-0.1.4/wirely/compiler/native_signatures.py +189 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/node_type.py +147 -115
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/outline.py +163 -103
- wirely-0.1.4/wirely/compiler/parameters.py +176 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/parser.py +81 -55
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/program.py +230 -103
- wirely-0.1.4/wirely/compiler/shuffle.py +127 -0
- wirely-0.1.4/wirely/compiler/sources.py +188 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/static_bindings.py +10 -5
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/support.py +77 -40
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/types.py +76 -73
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/value.py +102 -69
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/wirely.lark +51 -28
- wirely-0.1.4/wirely/control/__init__.py +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/control/client.py +17 -11
- {wirely-0.1.3 → wirely-0.1.4}/wirely/control/controller.py +17 -12
- {wirely-0.1.3 → wirely-0.1.4}/wirely/control/framing.py +10 -8
- {wirely-0.1.3 → wirely-0.1.4}/wirely/control/messages.py +10 -9
- {wirely-0.1.3 → wirely-0.1.4}/wirely/control/server.py +43 -29
- {wirely-0.1.3 → wirely-0.1.4}/wirely/editor/app.py +94 -70
- {wirely-0.1.3 → wirely-0.1.4}/wirely/editor/export.py +8 -3
- {wirely-0.1.3 → wirely-0.1.4}/wirely/editor/graph_model.py +105 -74
- {wirely-0.1.3 → wirely-0.1.4}/wirely/editor/graph_view.py +161 -126
- {wirely-0.1.3 → wirely-0.1.4}/wirely/editor/grid.py +5 -3
- {wirely-0.1.3 → wirely-0.1.4}/wirely/editor/layout.py +40 -26
- {wirely-0.1.3 → wirely-0.1.4}/wirely/editor/palette.py +21 -12
- {wirely-0.1.3 → wirely-0.1.4}/wirely/editor/program.py +80 -55
- {wirely-0.1.3 → wirely-0.1.4}/wirely/editor/properties.py +31 -14
- {wirely-0.1.3 → wirely-0.1.4}/wirely/editor/sync.py +30 -25
- {wirely-0.1.3 → wirely-0.1.4}/wirely/editor/text_view.py +45 -37
- {wirely-0.1.3 → wirely-0.1.4}/wirely/editor/workspace.py +106 -63
- wirely-0.1.4/wirely/functions/__init__.py +38 -0
- wirely-0.1.4/wirely/functions/schedule_time_of_day.py +33 -0
- wirely-0.1.4/wirely/functions/std_duration.py +100 -0
- wirely-0.1.4/wirely/functions/timer_monotonic_time.py +54 -0
- wirely-0.1.4/wirely/generated/__init__.py +22 -0
- wirely-0.1.4/wirely/generated/_bindings.py +809 -0
- wirely-0.1.4/wirely/generated/_signatures.py +537 -0
- wirely-0.1.4/wirely/generated/csv.py +127 -0
- wirely-0.1.4/wirely/generated/enums.py +57 -0
- wirely-0.1.4/wirely/generated/gpio.py +122 -0
- wirely-0.1.4/wirely/generated/knx.py +482 -0
- wirely-0.1.4/wirely/generated/mqtt.py +372 -0
- wirely-0.1.4/wirely/generated/process.py +118 -0
- wirely-0.1.4/wirely/generated/schedule.py +124 -0
- wirely-0.1.4/wirely/generated/schedule_time_of_day.py +81 -0
- wirely-0.1.4/wirely/generated/std.py +369 -0
- wirely-0.1.4/wirely/generated/std_duration.py +266 -0
- wirely-0.1.4/wirely/generated/structs.py +65 -0
- wirely-0.1.4/wirely/generated/timer.py +127 -0
- wirely-0.1.4/wirely/generated/timer_monotonic_time.py +114 -0
- wirely-0.1.4/wirely/generated/two_n.py +547 -0
- wirely-0.1.4/wirely/knx/__init__.py +0 -0
- wirely-0.1.4/wirely/knx/address.py +34 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/knx/connection_adapter.py +15 -8
- {wirely-0.1.3 → wirely-0.1.4}/wirely/knx/connection_config.py +14 -11
- wirely-0.1.4/wirely/knx/value_types.py +53 -0
- wirely-0.1.4/wirely/lib/abb_jra.wrl +94 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/lib/csv.wrl +16 -13
- {wirely-0.1.3 → wirely-0.1.4}/wirely/lib/gpio.wrl +13 -7
- {wirely-0.1.3 → wirely-0.1.4}/wirely/lib/knx.wrl +61 -32
- {wirely-0.1.3 → wirely-0.1.4}/wirely/lib/matter.wrl +1 -1
- wirely-0.1.4/wirely/lib/memory.wrl +80 -0
- wirely-0.1.4/wirely/lib/mqtt.wrl +132 -0
- wirely-0.1.4/wirely/lib/path.wrl +5 -0
- wirely-0.1.4/wirely/lib/process.wrl +20 -0
- wirely-0.1.4/wirely/lib/schedule.wrl +123 -0
- wirely-0.1.4/wirely/lib/std.wrl +245 -0
- wirely-0.1.4/wirely/lib/test.wrl +8 -0
- wirely-0.1.4/wirely/lib/timer.wrl +141 -0
- wirely-0.1.4/wirely/lib/two_n.wrl +196 -0
- wirely-0.1.4/wirely/misc/__init__.py +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/misc/service.py +5 -3
- {wirely-0.1.3 → wirely-0.1.4}/wirely/misc/state_directory.py +3 -2
- wirely-0.1.4/wirely/native/__init__.py +11 -0
- wirely-0.1.4/wirely/native/csv.py +161 -0
- wirely-0.1.4/wirely/native/gpio.py +97 -0
- wirely-0.1.4/wirely/native/knx.py +359 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/native/mqtt.py +172 -150
- wirely-0.1.4/wirely/native/process.py +63 -0
- wirely-0.1.4/wirely/native/schedule.py +61 -0
- wirely-0.1.4/wirely/native/std.py +160 -0
- wirely-0.1.4/wirely/native/timer.py +45 -0
- wirely-0.1.4/wirely/native/two_n.py +376 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/program/__init__.py +3 -2
- {wirely-0.1.3 → wirely-0.1.4}/wirely/program/container.py +25 -20
- wirely-0.1.4/wirely/program/format.wrl +478 -0
- wirely-0.1.4/wirely/program/generated/__init__.py +1 -0
- wirely-0.1.4/wirely/program/generated/format.py +722 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/program/procedures.py +8 -10
- {wirely-0.1.3 → wirely-0.1.4}/wirely/program/program.py +168 -51
- wirely-0.1.4/wirely/program/records.py +52 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/program/validation.py +83 -25
- wirely-0.1.4/wirely/runtime/contexts.py +80 -0
- wirely-0.1.4/wirely/runtime/engine.py +485 -0
- wirely-0.1.4/wirely/runtime/extensions.py +98 -0
- wirely-0.1.4/wirely/runtime/linking.py +243 -0
- wirely-0.1.4/wirely/runtime/native_api.py +393 -0
- wirely-0.1.4/wirely/runtime/native_values.py +140 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/runtime/procedures.py +24 -24
- wirely-0.1.4/wirely/runtime/resources.py +24 -0
- wirely-0.1.4/wirely/runtime/signatures.py +186 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/runtime/time_snapshot.py +2 -2
- wirely-0.1.4/wirely/runtime/wall_clock.py +176 -0
- wirely-0.1.4/wirely/two_n/__init__.py +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/two_n/cert.py +10 -5
- {wirely-0.1.3 → wirely-0.1.4}/wirely/two_n/client.py +43 -31
- {wirely-0.1.3 → wirely-0.1.4}/wirely/two_n/fake_server.py +37 -33
- {wirely-0.1.3 → wirely-0.1.4}/wirely/two_n/grab_images.py +3 -2
- wirely-0.1.4/wirely/types/__init__.py +870 -0
- wirely-0.1.4/wirely/types/integers.py +125 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/types/option.py +5 -2
- {wirely-0.1.3 → wirely-0.1.4}/wirely/types/serialization.py +33 -50
- wirely-0.1.4/wirely/types/time.py +316 -0
- wirely-0.1.4/wirely/types/value_types.py +265 -0
- wirely-0.1.4/wirely/util.py +40 -0
- {wirely-0.1.3 → wirely-0.1.4/wirely.egg-info}/PKG-INFO +24 -7
- wirely-0.1.4/wirely.egg-info/SOURCES.txt +409 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely.egg-info/requires.txt +2 -1
- wirely-0.1.3/doc/native-python.md +0 -329
- wirely-0.1.3/doc/tests.md +0 -71
- wirely-0.1.3/test/compiler/durations.wrl +0 -38
- wirely-0.1.3/test/compiler/time_of_day.wrl +0 -35
- wirely-0.1.3/test/negative/conversions.wrl +0 -43
- wirely-0.1.3/test/negative/durations.wrl +0 -45
- wirely-0.1.3/test/negative/enum_declarations.wrl +0 -251
- wirely-0.1.3/test/negative/native_functions.wrl +0 -100
- wirely-0.1.3/test/negative/native_initializers.wrl +0 -80
- wirely-0.1.3/test/negative/native_procedures.wrl +0 -31
- wirely-0.1.3/test/negative/optional_forwarding.wrl +0 -102
- wirely-0.1.3/test/negative/path.wrl +0 -19
- wirely-0.1.3/test/negative/prepared_configuration.wrl +0 -61
- wirely-0.1.3/test/negative/procedure_ports.wrl +0 -225
- wirely-0.1.3/test/negative/resource_declarations.wrl +0 -157
- wirely-0.1.3/test/negative/string_literals.wrl +0 -131
- wirely-0.1.3/test/negative/time_of_day.wrl +0 -25
- wirely-0.1.3/test/repo/files.py +0 -28
- wirely-0.1.3/test/unit/compiler_api.py +0 -74
- wirely-0.1.3/test/unit/control.wrl +0 -4
- wirely-0.1.3/test/unit/engine_wakeup.py +0 -64
- wirely-0.1.3/test/unit/library_configuration.py +0 -220
- wirely-0.1.3/test/unit/monotonic_timestamp.py +0 -78
- wirely-0.1.3/test/unit/native_interface.py +0 -802
- wirely-0.1.3/test/unit/native_values.py +0 -197
- wirely-0.1.3/test/unit/resources.py +0 -246
- wirely-0.1.3/test/unit/runtime_program.py +0 -155
- wirely-0.1.3/test/unit/shuffle.py +0 -161
- wirely-0.1.3/test/unit/test_runner.py +0 -93
- wirely-0.1.3/test/unit/types.py +0 -394
- wirely-0.1.3/test/wrl/std.py +0 -55
- wirely-0.1.3/test/wrl/std.wrl +0 -10
- wirely-0.1.3/wirely/cli/compile_command.py +0 -31
- wirely-0.1.3/wirely/compiler/__init__.py +0 -124
- wirely-0.1.3/wirely/compiler/ast/base.py +0 -147
- wirely-0.1.3/wirely/compiler/ast/functions.py +0 -67
- wirely-0.1.3/wirely/compiler/ast/library.py +0 -82
- wirely-0.1.3/wirely/compiler/ast/nodes.py +0 -270
- wirely-0.1.3/wirely/compiler/ast/parameter_declarations.py +0 -108
- wirely-0.1.3/wirely/compiler/ast/procedures.py +0 -365
- wirely-0.1.3/wirely/compiler/ast/specifiers.py +0 -120
- wirely-0.1.3/wirely/compiler/ast/type_declarations.py +0 -193
- wirely-0.1.3/wirely/compiler/attributes.py +0 -287
- wirely-0.1.3/wirely/compiler/diagnostics.py +0 -70
- wirely-0.1.3/wirely/compiler/function_implementations/csv.py +0 -5
- wirely-0.1.3/wirely/compiler/function_implementations/knx.py +0 -32
- wirely-0.1.3/wirely/compiler/function_implementations/path.py +0 -19
- wirely-0.1.3/wirely/compiler/function_implementations/schedule.py +0 -2
- wirely-0.1.3/wirely/compiler/function_implementations/test.py +0 -66
- wirely-0.1.3/wirely/compiler/native_functions.py +0 -184
- wirely-0.1.3/wirely/compiler/parameters.py +0 -103
- wirely-0.1.3/wirely/compiler/shuffle.py +0 -81
- wirely-0.1.3/wirely/functions/__init__.py +0 -80
- wirely-0.1.3/wirely/functions/duration.py +0 -112
- wirely-0.1.3/wirely/functions/monotonic_time.py +0 -65
- wirely-0.1.3/wirely/functions/test_library.py +0 -23
- wirely-0.1.3/wirely/functions/time_of_day.py +0 -34
- wirely-0.1.3/wirely/lib/abb_jra.wrl +0 -71
- wirely-0.1.3/wirely/lib/memory.wrl +0 -47
- wirely-0.1.3/wirely/lib/mqtt.wrl +0 -112
- wirely-0.1.3/wirely/lib/path.wrl +0 -5
- wirely-0.1.3/wirely/lib/process.wrl +0 -14
- wirely-0.1.3/wirely/lib/schedule.wrl +0 -78
- wirely-0.1.3/wirely/lib/std.wrl +0 -211
- wirely-0.1.3/wirely/lib/test.wrl +0 -8
- wirely-0.1.3/wirely/lib/timer.wrl +0 -59
- wirely-0.1.3/wirely/lib/two_n.wrl +0 -147
- wirely-0.1.3/wirely/native/__init__.py +0 -46
- wirely-0.1.3/wirely/native/abb_jra.py +0 -58
- wirely-0.1.3/wirely/native/csv.py +0 -152
- wirely-0.1.3/wirely/native/gpio.py +0 -74
- wirely-0.1.3/wirely/native/knx.py +0 -314
- wirely-0.1.3/wirely/native/memory.py +0 -58
- wirely-0.1.3/wirely/native/process.py +0 -53
- wirely-0.1.3/wirely/native/schedule.py +0 -173
- wirely-0.1.3/wirely/native/std.py +0 -206
- wirely-0.1.3/wirely/native/test_library.py +0 -13
- wirely-0.1.3/wirely/native/timer.py +0 -96
- wirely-0.1.3/wirely/native/two_n.py +0 -400
- wirely-0.1.3/wirely/runtime/contexts.py +0 -217
- wirely-0.1.3/wirely/runtime/engine.py +0 -326
- wirely-0.1.3/wirely/runtime/linking.py +0 -81
- wirely-0.1.3/wirely/test.py +0 -708
- wirely-0.1.3/wirely/types/__init__.py +0 -721
- wirely-0.1.3/wirely/types/struct.py +0 -35
- wirely-0.1.3/wirely/types/time.py +0 -237
- wirely-0.1.3/wirely/types/value_types.py +0 -133
- wirely-0.1.3/wirely/util.py +0 -111
- wirely-0.1.3/wirely.egg-info/SOURCES.txt +0 -319
- {wirely-0.1.3 → wirely-0.1.4}/LICENSE +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/doc/README.md +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/doc/control-protocol.md +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/examples/delay.wrl +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/examples/flipflop.wrl +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/examples/gpio.wrl +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/examples/knx.wrl +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/setup.cfg +0 -0
- {wirely-0.1.3/wirely/cli → wirely-0.1.4/tests}/__init__.py +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/connection_order.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/simple.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/structs.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/compiler/type_stages.wrl +0 -0
- {wirely-0.1.3/wirely/control → wirely-0.1.4/tests/infra}/__init__.py +0 -0
- {wirely-0.1.3/wirely/knx → wirely-0.1.4/tests/infra/native_extension}/__init__.py +0 -0
- {wirely-0.1.3/wirely/misc → wirely-0.1.4/tests/infra/native_extension/compiler}/__init__.py +0 -0
- {wirely-0.1.3/wirely/two_n → wirely-0.1.4/tests/infra/native_extension/functions}/__init__.py +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/misc/grammar.py +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/syntax_lists.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/unit_literals.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/negative/weak_keywords.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/editor_export.py +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/native_values.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/static_sources.py +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/unit/static_sources.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/abb.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/and.py +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/and.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/csv.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/delay.py +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/flipflop.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/gpio.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/knx_time.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/mqtt.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/multi_forward.py +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/multi_forward.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/process.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/two_n.py +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/two_n.wrl +0 -0
- {wirely-0.1.3/test → wirely-0.1.4/tests}/wrl/username_password.txt +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/tools/build-pex +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/tools/git_write_wd_tree.py +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/tools/setup-venv +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/tools/test-gitlab-ci +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/tools/wirely +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/cli/graphviz.py +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/function_implementations/__init__.py +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/compiler/stages.py +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/editor/__init__.py +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/program/limits.py +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/runtime/__init__.py +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely/types/unit.py +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely.egg-info/dependency_links.txt +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely.egg-info/entry_points.txt +0 -0
- {wirely-0.1.3 → wirely-0.1.4}/wirely.egg-info/top_level.txt +0 -0
|
@@ -1,5 +1,61 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.4 - 2026-10-24
|
|
4
|
+
|
|
5
|
+
### Breaking changes and migration
|
|
6
|
+
|
|
7
|
+
#### Optional parameters
|
|
8
|
+
|
|
9
|
+
Replace `parameter_option(x)` with `optional(x)`.
|
|
10
|
+
|
|
11
|
+
#### Type names
|
|
12
|
+
|
|
13
|
+
Replace `String` with `string` and `ValueType` with `type`.
|
|
14
|
+
Replace `Duration`, `TimeOfDay`, and `MonotonicTime` with `Std.Duration`,
|
|
15
|
+
`Schedule.TimeOfDay`, and `Timer.MonotonicTime`, respectively, including
|
|
16
|
+
in qualified function calls.
|
|
17
|
+
|
|
18
|
+
#### Schedule.IsInDailyInterval
|
|
19
|
+
|
|
20
|
+
The output is `Option[boolean]`. Handle `None` when wall time is unknown.
|
|
21
|
+
|
|
22
|
+
#### Bindings
|
|
23
|
+
|
|
24
|
+
Replace `temporary name: T;` with `binding name: value T;`, and
|
|
25
|
+
`resource name: R;` with `binding name: resource R;`. The connection kind is
|
|
26
|
+
required. The old declaration forms are no longer accepted.
|
|
27
|
+
|
|
28
|
+
#### Enums
|
|
29
|
+
|
|
30
|
+
Declare enums as `open` or `closed`. Open enums keep an explicit underlying
|
|
31
|
+
type and member values and accept unnamed values of that type. Closed enums
|
|
32
|
+
omit both and number their members from zero in declaration order:
|
|
33
|
+
|
|
34
|
+
```wirely
|
|
35
|
+
open enum type Protocol: uint8 {
|
|
36
|
+
TCP = 1,
|
|
37
|
+
UDP = 2,
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
closed enum type State {
|
|
41
|
+
Idle,
|
|
42
|
+
Running,
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Replace `enum type` with `open enum type` to keep existing numbering.
|
|
47
|
+
|
|
48
|
+
#### Std.DelayOneStep
|
|
49
|
+
|
|
50
|
+
Replace `Std.DelayOneStep` with state and read its previous value with
|
|
51
|
+
`.old`:
|
|
52
|
+
|
|
53
|
+
```wirely
|
|
54
|
+
state delayed: boolean = false;
|
|
55
|
+
connect source -> delayed;
|
|
56
|
+
connect delayed.old -> target;
|
|
57
|
+
```
|
|
58
|
+
|
|
3
59
|
## 0.1.3 - 2026-10-12
|
|
4
60
|
|
|
5
61
|
### Breaking changes and migration
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
include CHANGELOG.md
|
|
2
2
|
recursive-include doc *.md
|
|
3
3
|
recursive-include examples *.wrl
|
|
4
|
-
recursive-include
|
|
5
|
-
include
|
|
4
|
+
recursive-include tests *.py *.wrl
|
|
5
|
+
include tests/wrl/username_password.txt
|
|
6
6
|
include tools/build-pex
|
|
7
|
+
include tools/generate-native-types
|
|
7
8
|
include tools/git_write_wd_tree.py
|
|
8
9
|
include tools/run-tests
|
|
9
10
|
include tools/run-tests-dependencies
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wirely
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: Node-based language and runtime for low-level home automation
|
|
5
5
|
Author: Steffen Kieß
|
|
6
6
|
License: MIT
|
|
@@ -13,7 +13,7 @@ Requires-Dist: lark>=1.1.5
|
|
|
13
13
|
Requires-Dist: sdnotify>=0.3.0
|
|
14
14
|
Requires-Dist: cbor2>=5.4.5
|
|
15
15
|
Provides-Extra: knx
|
|
16
|
-
Requires-Dist: xknx<4,>=3.
|
|
16
|
+
Requires-Dist: xknx<4,>=3.4; extra == "knx"
|
|
17
17
|
Provides-Extra: mqtt
|
|
18
18
|
Requires-Dist: aiomqtt<3,>=2.3; extra == "mqtt"
|
|
19
19
|
Provides-Extra: two-n
|
|
@@ -29,6 +29,7 @@ Provides-Extra: all
|
|
|
29
29
|
Requires-Dist: wirely[gpio,graphviz,knx,mqtt,two-n]; extra == "all"
|
|
30
30
|
Provides-Extra: test
|
|
31
31
|
Requires-Dist: pyOpenSSL>=23.0.0; extra == "test"
|
|
32
|
+
Requires-Dist: mypy>=2.0; extra == "test"
|
|
32
33
|
Provides-Extra: pex
|
|
33
34
|
Requires-Dist: pex; extra == "pex"
|
|
34
35
|
Provides-Extra: dev
|
|
@@ -71,6 +72,10 @@ python3 -m wirely compile program.wrl
|
|
|
71
72
|
|
|
72
73
|
Use `wirely compile --dump-program program.wrl` to print the compiled
|
|
73
74
|
runtime program, including its variables, configuration, and procedures.
|
|
75
|
+
Add `--timings` to print the duration of each compiler stage.
|
|
76
|
+
Set `WIRELY_COMPILER_CACHE_LARK=1` to keep the parser tables in
|
|
77
|
+
`$XDG_CACHE_HOME/wirely/` (by default `~/.cache/wirely/`), which saves
|
|
78
|
+
about 0.7 s on each start.
|
|
74
79
|
|
|
75
80
|
Install optional integrations as needed:
|
|
76
81
|
|
|
@@ -84,6 +89,9 @@ python3 -m pip install 'wirely[all]' # all optional integrations
|
|
|
84
89
|
python3 -m pip install 'wirely[editor]' # graphical editor
|
|
85
90
|
```
|
|
86
91
|
|
|
92
|
+
Set `WIRELY_VERBOSE=1` to print node creation, connection setup, and each
|
|
93
|
+
value sent or received by the KNX, MQTT, 2N, CSV, and Process nodes.
|
|
94
|
+
|
|
87
95
|
`wirely edit program.wrl` opens a program in a graphical editor with tabs
|
|
88
96
|
for its source files and diagrams. Edits in either view update the other.
|
|
89
97
|
Right-click a tab to split the view, move it to another pane, or detach it
|
|
@@ -121,7 +129,7 @@ checkout launchers:
|
|
|
121
129
|
|
|
122
130
|
```
|
|
123
131
|
tools/setup-venv
|
|
124
|
-
tools/wirely compile
|
|
132
|
+
tools/wirely compile tests/compiler/simple.wrl
|
|
125
133
|
tools/run-tests
|
|
126
134
|
```
|
|
127
135
|
|
|
@@ -137,12 +145,15 @@ slowest first:
|
|
|
137
145
|
tools/run-tests --timings unit/types wrl/equality
|
|
138
146
|
```
|
|
139
147
|
|
|
148
|
+
Add `--processes 4` to run the tests in four worker processes; see the
|
|
149
|
+
[test guide](doc/tests.md) for the options.
|
|
150
|
+
|
|
140
151
|
To check that compilation does not depend on declaration order, set
|
|
141
152
|
`WIRELY_COMPILER_SHUFFLE_SEED` to an integer. The compiler then shuffles
|
|
142
|
-
declarations, node parameters,
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
153
|
+
declarations, node parameters, procedure ports, `uses` bindings, and open
|
|
154
|
+
enum members with that seed; connections keep their relative order. Also set `WIRELY_COMPILER_SHUFFLE_LAYOUT=1` to shuffle
|
|
155
|
+
fields of structs and members of closed enums that are not native, which
|
|
156
|
+
changes the runtime representation.
|
|
146
157
|
Negative tests may report different diagnostics in this mode.
|
|
147
158
|
|
|
148
159
|
```
|
|
@@ -167,3 +178,9 @@ compatible patch of the oldest supported CPython minor; `max` selects the
|
|
|
167
178
|
newest compatible stable CPython available through the installed uv.
|
|
168
179
|
uv can download missing interpreters. `tools/run-tests --python PATH` runs
|
|
169
180
|
tests using a specified Python executable.
|
|
181
|
+
|
|
182
|
+
Test names, `--timings`, and `--keep-going` work as for `tools/run-tests`:
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
tools/run-tests-dependencies --versions min --python min misc/type_check
|
|
186
|
+
```
|
|
@@ -33,6 +33,10 @@ python3 -m wirely compile program.wrl
|
|
|
33
33
|
|
|
34
34
|
Use `wirely compile --dump-program program.wrl` to print the compiled
|
|
35
35
|
runtime program, including its variables, configuration, and procedures.
|
|
36
|
+
Add `--timings` to print the duration of each compiler stage.
|
|
37
|
+
Set `WIRELY_COMPILER_CACHE_LARK=1` to keep the parser tables in
|
|
38
|
+
`$XDG_CACHE_HOME/wirely/` (by default `~/.cache/wirely/`), which saves
|
|
39
|
+
about 0.7 s on each start.
|
|
36
40
|
|
|
37
41
|
Install optional integrations as needed:
|
|
38
42
|
|
|
@@ -46,6 +50,9 @@ python3 -m pip install 'wirely[all]' # all optional integrations
|
|
|
46
50
|
python3 -m pip install 'wirely[editor]' # graphical editor
|
|
47
51
|
```
|
|
48
52
|
|
|
53
|
+
Set `WIRELY_VERBOSE=1` to print node creation, connection setup, and each
|
|
54
|
+
value sent or received by the KNX, MQTT, 2N, CSV, and Process nodes.
|
|
55
|
+
|
|
49
56
|
`wirely edit program.wrl` opens a program in a graphical editor with tabs
|
|
50
57
|
for its source files and diagrams. Edits in either view update the other.
|
|
51
58
|
Right-click a tab to split the view, move it to another pane, or detach it
|
|
@@ -83,7 +90,7 @@ checkout launchers:
|
|
|
83
90
|
|
|
84
91
|
```
|
|
85
92
|
tools/setup-venv
|
|
86
|
-
tools/wirely compile
|
|
93
|
+
tools/wirely compile tests/compiler/simple.wrl
|
|
87
94
|
tools/run-tests
|
|
88
95
|
```
|
|
89
96
|
|
|
@@ -99,12 +106,15 @@ slowest first:
|
|
|
99
106
|
tools/run-tests --timings unit/types wrl/equality
|
|
100
107
|
```
|
|
101
108
|
|
|
109
|
+
Add `--processes 4` to run the tests in four worker processes; see the
|
|
110
|
+
[test guide](doc/tests.md) for the options.
|
|
111
|
+
|
|
102
112
|
To check that compilation does not depend on declaration order, set
|
|
103
113
|
`WIRELY_COMPILER_SHUFFLE_SEED` to an integer. The compiler then shuffles
|
|
104
|
-
declarations, node parameters,
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
114
|
+
declarations, node parameters, procedure ports, `uses` bindings, and open
|
|
115
|
+
enum members with that seed; connections keep their relative order. Also set `WIRELY_COMPILER_SHUFFLE_LAYOUT=1` to shuffle
|
|
116
|
+
fields of structs and members of closed enums that are not native, which
|
|
117
|
+
changes the runtime representation.
|
|
108
118
|
Negative tests may report different diagnostics in this mode.
|
|
109
119
|
|
|
110
120
|
```
|
|
@@ -129,3 +139,9 @@ compatible patch of the oldest supported CPython minor; `max` selects the
|
|
|
129
139
|
newest compatible stable CPython available through the installed uv.
|
|
130
140
|
uv can download missing interpreters. `tools/run-tests --python PATH` runs
|
|
131
141
|
tests using a specified Python executable.
|
|
142
|
+
|
|
143
|
+
Test names, `--timings`, and `--keep-going` work as for `tools/run-tests`:
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
tools/run-tests-dependencies --versions min --python min misc/type_check
|
|
147
|
+
```
|