kirun-py 3.3.0__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.
- kirun_py-3.3.0/PKG-INFO +13 -0
- kirun_py-3.3.0/pyproject.toml +30 -0
- kirun_py-3.3.0/setup.cfg +4 -0
- kirun_py-3.3.0/src/kirun_py/__init__.py +96 -0
- kirun_py-3.3.0/src/kirun_py/constant/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/constant/ki_run_constants.py +4 -0
- kirun_py-3.3.0/src/kirun_py/dsl/__init__.py +5 -0
- kirun_py-3.3.0/src/kirun_py/dsl/dsl_compiler.py +130 -0
- kirun_py-3.3.0/src/kirun_py/dsl/lexer/__init__.py +14 -0
- kirun_py-3.3.0/src/kirun_py/dsl/lexer/dsl_lexer.py +410 -0
- kirun_py-3.3.0/src/kirun_py/dsl/lexer/dsl_token.py +88 -0
- kirun_py-3.3.0/src/kirun_py/dsl/lexer/keywords.py +72 -0
- kirun_py-3.3.0/src/kirun_py/dsl/lexer/lexer_error.py +39 -0
- kirun_py-3.3.0/src/kirun_py/dsl/parser/__init__.py +6 -0
- kirun_py-3.3.0/src/kirun_py/dsl/parser/ast/__init__.py +27 -0
- kirun_py-3.3.0/src/kirun_py/dsl/parser/ast/argument_node.py +45 -0
- kirun_py-3.3.0/src/kirun_py/dsl/parser/ast/ast_node.py +27 -0
- kirun_py-3.3.0/src/kirun_py/dsl/parser/ast/complex_value_node.py +24 -0
- kirun_py-3.3.0/src/kirun_py/dsl/parser/ast/event_decl_node.py +33 -0
- kirun_py-3.3.0/src/kirun_py/dsl/parser/ast/expression_node.py +27 -0
- kirun_py-3.3.0/src/kirun_py/dsl/parser/ast/function_call_node.py +34 -0
- kirun_py-3.3.0/src/kirun_py/dsl/parser/ast/function_def_node.py +45 -0
- kirun_py-3.3.0/src/kirun_py/dsl/parser/ast/parameter_decl_node.py +31 -0
- kirun_py-3.3.0/src/kirun_py/dsl/parser/ast/schema_literal_node.py +36 -0
- kirun_py-3.3.0/src/kirun_py/dsl/parser/ast/schema_node.py +24 -0
- kirun_py-3.3.0/src/kirun_py/dsl/parser/ast/statement_node.py +52 -0
- kirun_py-3.3.0/src/kirun_py/dsl/parser/dsl_parser.py +772 -0
- kirun_py-3.3.0/src/kirun_py/dsl/parser/dsl_parser_error.py +32 -0
- kirun_py-3.3.0/src/kirun_py/dsl/transformer/__init__.py +13 -0
- kirun_py-3.3.0/src/kirun_py/dsl/transformer/ast_to_json.py +273 -0
- kirun_py-3.3.0/src/kirun_py/dsl/transformer/expression_handler.py +43 -0
- kirun_py-3.3.0/src/kirun_py/dsl/transformer/json_to_text.py +550 -0
- kirun_py-3.3.0/src/kirun_py/dsl/transformer/schema_transformer.py +92 -0
- kirun_py-3.3.0/src/kirun_py/exception/__init__.py +2 -0
- kirun_py-3.3.0/src/kirun_py/exception/execution_exception.py +10 -0
- kirun_py-3.3.0/src/kirun_py/exception/ki_runtime_exception.py +10 -0
- kirun_py-3.3.0/src/kirun_py/function/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/function/abstract_function.py +146 -0
- kirun_py-3.3.0/src/kirun_py/function/function_.py +22 -0
- kirun_py-3.3.0/src/kirun_py/function/system/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/__init__.py +71 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/abstract_array_function.py +192 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/add_first.py +40 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/array_function_repository.py +95 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/array_to_array_of_objects.py +62 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/array_to_object.py +109 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/binary_search.py +76 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/compare.py +137 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/concatenate.py +39 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/copy.py +66 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/delete.py +60 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/delete_first.py +39 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/delete_from.py +64 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/delete_last.py +39 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/disjoint.py +90 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/equals.py +42 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/fill.py +66 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/frequency.py +75 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/index_of.py +63 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/index_of_array.py +73 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/insert.py +54 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/insert_last.py +43 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/join.py +71 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/last_index_of.py +64 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/last_index_of_array.py +72 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/max_.py +44 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/min_.py +48 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/mis_match.py +67 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/remove_duplicates.py +68 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/reverse.py +61 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/rotate.py +62 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/shuffle.py +50 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/sort.py +116 -0
- kirun_py-3.3.0/src/kirun_py/function/system/array/sub_array.py +58 -0
- kirun_py-3.3.0/src/kirun_py/function/system/context/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/function/system/context/create.py +79 -0
- kirun_py-3.3.0/src/kirun_py/function/system/context/get.py +67 -0
- kirun_py-3.3.0/src/kirun_py/function/system/context/set_function.py +343 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/__init__.py +40 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/abstract_date_function.py +212 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/add_subtract_time.py +97 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/common.py +32 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/date_function_repository.py +274 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/epoch_to_timestamp.py +63 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/from_date_string.py +49 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/from_now.py +131 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/get_current.py +24 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/get_names.py +77 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/is_between.py +57 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/is_valid_iso_date.py +59 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/last_first_of.py +58 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/set_time_zone.py +49 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/start_end_of.py +90 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/time_as.py +71 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/timestamp_to_epoch.py +51 -0
- kirun_py-3.3.0/src/kirun_py/function/system/date/to_date_string.py +98 -0
- kirun_py-3.3.0/src/kirun_py/function/system/generate_event.py +81 -0
- kirun_py-3.3.0/src/kirun_py/function/system/if_.py +54 -0
- kirun_py-3.3.0/src/kirun_py/function/system/json/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/function/system/json/json_parse.py +61 -0
- kirun_py-3.3.0/src/kirun_py/function/system/json/json_stringify.py +46 -0
- kirun_py-3.3.0/src/kirun_py/function/system/loop/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/function/system/loop/break_.py +45 -0
- kirun_py-3.3.0/src/kirun_py/function/system/loop/count_loop.py +83 -0
- kirun_py-3.3.0/src/kirun_py/function/system/loop/for_each_loop.py +90 -0
- kirun_py-3.3.0/src/kirun_py/function/system/loop/range_loop.py +132 -0
- kirun_py-3.3.0/src/kirun_py/function/system/make.py +80 -0
- kirun_py-3.3.0/src/kirun_py/function/system/math/__init__.py +21 -0
- kirun_py-3.3.0/src/kirun_py/function/system/math/add.py +46 -0
- kirun_py-3.3.0/src/kirun_py/function/system/math/generic_math_function.py +89 -0
- kirun_py-3.3.0/src/kirun_py/function/system/math/hypotenuse.py +55 -0
- kirun_py-3.3.0/src/kirun_py/function/system/math/math_function_repository.py +130 -0
- kirun_py-3.3.0/src/kirun_py/function/system/math/maximum.py +46 -0
- kirun_py-3.3.0/src/kirun_py/function/system/math/minimum.py +46 -0
- kirun_py-3.3.0/src/kirun_py/function/system/math/random_.py +40 -0
- kirun_py-3.3.0/src/kirun_py/function/system/math/random_any.py +58 -0
- kirun_py-3.3.0/src/kirun_py/function/system/object/__init__.py +21 -0
- kirun_py-3.3.0/src/kirun_py/function/system/object/abstract_object_function.py +30 -0
- kirun_py-3.3.0/src/kirun_py/function/system/object/object_convert.py +106 -0
- kirun_py-3.3.0/src/kirun_py/function/system/object/object_delete_key.py +56 -0
- kirun_py-3.3.0/src/kirun_py/function/system/object/object_entries.py +38 -0
- kirun_py-3.3.0/src/kirun_py/function/system/object/object_function_repository.py +38 -0
- kirun_py-3.3.0/src/kirun_py/function/system/object/object_keys.py +41 -0
- kirun_py-3.3.0/src/kirun_py/function/system/object/object_put_value.py +68 -0
- kirun_py-3.3.0/src/kirun_py/function/system/object/object_values.py +40 -0
- kirun_py-3.3.0/src/kirun_py/function/system/print_.py +57 -0
- kirun_py-3.3.0/src/kirun_py/function/system/string/__init__.py +33 -0
- kirun_py-3.3.0/src/kirun_py/function/system/string/abstract_string_function.py +381 -0
- kirun_py-3.3.0/src/kirun_py/function/system/string/concatenate.py +59 -0
- kirun_py-3.3.0/src/kirun_py/function/system/string/delete_for_given_length.py +74 -0
- kirun_py-3.3.0/src/kirun_py/function/system/string/insert_at_given_position.py +74 -0
- kirun_py-3.3.0/src/kirun_py/function/system/string/matches.py +61 -0
- kirun_py-3.3.0/src/kirun_py/function/system/string/post_pad.py +80 -0
- kirun_py-3.3.0/src/kirun_py/function/system/string/pre_pad.py +81 -0
- kirun_py-3.3.0/src/kirun_py/function/system/string/region_matches.py +107 -0
- kirun_py-3.3.0/src/kirun_py/function/system/string/replace_at_given_position.py +85 -0
- kirun_py-3.3.0/src/kirun_py/function/system/string/reverse.py +56 -0
- kirun_py-3.3.0/src/kirun_py/function/system/string/split.py +61 -0
- kirun_py-3.3.0/src/kirun_py/function/system/string/string_function_repository.py +161 -0
- kirun_py-3.3.0/src/kirun_py/function/system/string/to_string.py +62 -0
- kirun_py-3.3.0/src/kirun_py/function/system/string/trim_to.py +61 -0
- kirun_py-3.3.0/src/kirun_py/function/system/validate_schema.py +79 -0
- kirun_py-3.3.0/src/kirun_py/function/system/wait.py +49 -0
- kirun_py-3.3.0/src/kirun_py/hybrid_repository.py +25 -0
- kirun_py-3.3.0/src/kirun_py/json/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/json/json_expression.py +6 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/array/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/array/array_schema_type.py +69 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/convertor/__init__.py +0 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/convertor/boolean_convertor.py +47 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/convertor/enums/__init__.py +0 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/convertor/enums/conversion_mode.py +8 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/convertor/exception/__init__.py +0 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/convertor/exception/schema_conversion_exception.py +35 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/convertor/null_convertor.py +22 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/convertor/number_convertor.py +40 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/convertor/string_convertor.py +20 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/schema.py +759 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/schema_util.py +131 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/string/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/string/string_format.py +9 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/type/__init__.py +5 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/type/multiple_type.py +26 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/type/schema_type.py +13 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/type/single_type.py +22 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/type/type_.py +16 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/type/type_util.py +35 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/validator/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/validator/any_of_all_of_one_of_validator.py +142 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/validator/array_validator.py +293 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/validator/boolean_validator.py +29 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/validator/exception/__init__.py +2 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/validator/exception/schema_reference_exception.py +15 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/validator/exception/schema_validation_exception.py +15 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/validator/null_validator.py +22 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/validator/number_validator.py +170 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/validator/object_validator.py +222 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/validator/schema_validator.py +200 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/validator/string_validator.py +134 -0
- kirun_py-3.3.0/src/kirun_py/json/schema/validator/type_validator.py +61 -0
- kirun_py-3.3.0/src/kirun_py/model/__init__.py +15 -0
- kirun_py-3.3.0/src/kirun_py/model/abstract_statement.py +49 -0
- kirun_py-3.3.0/src/kirun_py/model/argument.py +34 -0
- kirun_py-3.3.0/src/kirun_py/model/event.py +59 -0
- kirun_py-3.3.0/src/kirun_py/model/event_result.py +32 -0
- kirun_py-3.3.0/src/kirun_py/model/function_definition.py +120 -0
- kirun_py-3.3.0/src/kirun_py/model/function_output.py +37 -0
- kirun_py-3.3.0/src/kirun_py/model/function_output_generator.py +9 -0
- kirun_py-3.3.0/src/kirun_py/model/function_signature.py +96 -0
- kirun_py-3.3.0/src/kirun_py/model/parameter.py +102 -0
- kirun_py-3.3.0/src/kirun_py/model/parameter_reference.py +88 -0
- kirun_py-3.3.0/src/kirun_py/model/parameter_reference_type.py +6 -0
- kirun_py-3.3.0/src/kirun_py/model/parameter_type.py +6 -0
- kirun_py-3.3.0/src/kirun_py/model/position.py +31 -0
- kirun_py-3.3.0/src/kirun_py/model/statement.py +166 -0
- kirun_py-3.3.0/src/kirun_py/model/statement_group.py +61 -0
- kirun_py-3.3.0/src/kirun_py/namespaces/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/namespaces/namespaces.py +10 -0
- kirun_py-3.3.0/src/kirun_py/repository/__init__.py +10 -0
- kirun_py-3.3.0/src/kirun_py/repository/ki_run_function_repository.py +93 -0
- kirun_py-3.3.0/src/kirun_py/repository/ki_run_schema_repository.py +72 -0
- kirun_py-3.3.0/src/kirun_py/runtime/__init__.py +0 -0
- kirun_py-3.3.0/src/kirun_py/runtime/context_element.py +26 -0
- kirun_py-3.3.0/src/kirun_py/runtime/debug/__init__.py +14 -0
- kirun_py-3.3.0/src/kirun_py/runtime/debug/debug_collector.py +262 -0
- kirun_py-3.3.0/src/kirun_py/runtime/debug/debug_formatter.py +94 -0
- kirun_py-3.3.0/src/kirun_py/runtime/debug/types.py +42 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/__init__.py +0 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/exception/__init__.py +0 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/exception/expression_evaluation_exception.py +15 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/expression.py +583 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/expression_evaluator.py +745 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/expression_lexer.py +318 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/expression_parser.py +544 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/expression_token.py +13 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/expression_token_value.py +22 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operation.py +289 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/arithmetic_addition_operator.py +27 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/arithmetic_division_operator.py +13 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/arithmetic_integer_division_operator.py +13 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/arithmetic_modulus_operator.py +13 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/arithmetic_multiplication_operator.py +41 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/arithmetic_subtraction_operator.py +13 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/array_operator.py +35 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/array_range_operator.py +13 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/binary_operator.py +24 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/bitwise_and_operator.py +13 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/bitwise_left_shift_operator.py +13 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/bitwise_or_operator.py +13 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/bitwise_right_shift_operator.py +13 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/bitwise_unsigned_right_shift_operator.py +13 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/bitwise_xor_operator.py +13 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/logical_and_operator.py +11 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/logical_equal_operator.py +12 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/logical_greater_than_equal_operator.py +32 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/logical_greater_than_operator.py +32 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/logical_less_than_equal_operator.py +32 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/logical_less_than_operator.py +32 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/logical_not_equal_operator.py +12 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/logical_nullish_coalescing_operator.py +12 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/logical_or_operator.py +11 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/binary/object_operator.py +26 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/ternary/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/ternary/conditional_ternary_operator.py +11 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/ternary/ternary_operator.py +24 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/unary/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/unary/arithmetic_unary_minus_operator.py +15 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/unary/arithmetic_unary_plus_operator.py +15 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/unary/bitwise_complement_operator.py +28 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/unary/logical_not_operator.py +14 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/operators/unary/unary_operator.py +24 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/tokenextractor/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/tokenextractor/expression_internal_value_extractor.py +38 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/tokenextractor/literal_token_value_extractor.py +79 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/tokenextractor/object_value_setter_extractor.py +282 -0
- kirun_py-3.3.0/src/kirun_py/runtime/expression/tokenextractor/token_value_extractor.py +374 -0
- kirun_py-3.3.0/src/kirun_py/runtime/function_execution_parameters.py +135 -0
- kirun_py-3.3.0/src/kirun_py/runtime/graph/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/runtime/graph/execution_graph.py +79 -0
- kirun_py-3.3.0/src/kirun_py/runtime/graph/graph_vertex.py +124 -0
- kirun_py-3.3.0/src/kirun_py/runtime/graph/graph_vertex_type.py +12 -0
- kirun_py-3.3.0/src/kirun_py/runtime/ki_runtime.py +915 -0
- kirun_py-3.3.0/src/kirun_py/runtime/statement_execution.py +56 -0
- kirun_py-3.3.0/src/kirun_py/runtime/statement_message.py +33 -0
- kirun_py-3.3.0/src/kirun_py/runtime/statement_message_type.py +9 -0
- kirun_py-3.3.0/src/kirun_py/runtime/tokenextractor/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/runtime/tokenextractor/arguments_token_value_extractor.py +42 -0
- kirun_py-3.3.0/src/kirun_py/runtime/tokenextractor/context_token_value_extractor.py +48 -0
- kirun_py-3.3.0/src/kirun_py/runtime/tokenextractor/output_map_token_value_extractor.py +70 -0
- kirun_py-3.3.0/src/kirun_py/util/__init__.py +8 -0
- kirun_py-3.3.0/src/kirun_py/util/array_util.py +29 -0
- kirun_py-3.3.0/src/kirun_py/util/deep_equal.py +56 -0
- kirun_py-3.3.0/src/kirun_py/util/duplicate.py +8 -0
- kirun_py-3.3.0/src/kirun_py/util/error_message_formatter.py +120 -0
- kirun_py-3.3.0/src/kirun_py/util/json/__init__.py +0 -0
- kirun_py-3.3.0/src/kirun_py/util/linked_list.py +187 -0
- kirun_py-3.3.0/src/kirun_py/util/map_util.py +49 -0
- kirun_py-3.3.0/src/kirun_py/util/null_check.py +5 -0
- kirun_py-3.3.0/src/kirun_py/util/primitive/__init__.py +1 -0
- kirun_py-3.3.0/src/kirun_py/util/primitive/primitive_util.py +141 -0
- kirun_py-3.3.0/src/kirun_py/util/string/__init__.py +3 -0
- kirun_py-3.3.0/src/kirun_py/util/string/string_builder.py +48 -0
- kirun_py-3.3.0/src/kirun_py/util/string/string_formatter.py +27 -0
- kirun_py-3.3.0/src/kirun_py/util/string/string_util.py +57 -0
- kirun_py-3.3.0/src/kirun_py/util/tuples.py +53 -0
- kirun_py-3.3.0/src/kirun_py/util/uuid_.py +5 -0
- kirun_py-3.3.0/src/kirun_py/util/valid_date_time_util.py +137 -0
- kirun_py-3.3.0/src/kirun_py.egg-info/PKG-INFO +13 -0
- kirun_py-3.3.0/src/kirun_py.egg-info/SOURCES.txt +293 -0
- kirun_py-3.3.0/src/kirun_py.egg-info/dependency_links.txt +1 -0
- kirun_py-3.3.0/src/kirun_py.egg-info/requires.txt +7 -0
- kirun_py-3.3.0/src/kirun_py.egg-info/top_level.txt +1 -0
kirun_py-3.3.0/PKG-INFO
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: kirun-py
|
|
3
|
+
Version: 3.3.0
|
|
4
|
+
Summary: Python Runtime for Kinetic Instructions
|
|
5
|
+
Author: Kiran Kumar Grandhi
|
|
6
|
+
License: MIT
|
|
7
|
+
Requires-Python: >=3.9
|
|
8
|
+
Requires-Dist: python-dateutil>=2.8
|
|
9
|
+
Provides-Extra: dev
|
|
10
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
11
|
+
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
|
|
12
|
+
Requires-Dist: pytest-cov>=4.0; extra == "dev"
|
|
13
|
+
Requires-Dist: ruff>=0.1; extra == "dev"
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "kirun-py"
|
|
7
|
+
version = "3.3.0"
|
|
8
|
+
description = "Python Runtime for Kinetic Instructions"
|
|
9
|
+
authors = [{ name = "Kiran Kumar Grandhi" }]
|
|
10
|
+
license = { text = "MIT" }
|
|
11
|
+
requires-python = ">=3.9"
|
|
12
|
+
dependencies = ["python-dateutil>=2.8"]
|
|
13
|
+
|
|
14
|
+
[project.optional-dependencies]
|
|
15
|
+
dev = [
|
|
16
|
+
"pytest>=7.0",
|
|
17
|
+
"pytest-asyncio>=0.21",
|
|
18
|
+
"pytest-cov>=4.0",
|
|
19
|
+
"ruff>=0.1",
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
[tool.setuptools.packages.find]
|
|
23
|
+
where = ["src"]
|
|
24
|
+
|
|
25
|
+
[tool.pytest.ini_options]
|
|
26
|
+
asyncio_mode = "auto"
|
|
27
|
+
testpaths = ["tests"]
|
|
28
|
+
|
|
29
|
+
[tool.ruff]
|
|
30
|
+
line-length = 120
|
kirun_py-3.3.0/setup.cfg
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# kirun-py: Python Runtime for Kinetic Instructions
|
|
2
|
+
|
|
3
|
+
# Core repositories
|
|
4
|
+
from kirun_py.repository.ki_run_function_repository import KIRunFunctionRepository
|
|
5
|
+
from kirun_py.repository.ki_run_schema_repository import KIRunSchemaRepository
|
|
6
|
+
from kirun_py.repository import Repository
|
|
7
|
+
from kirun_py.hybrid_repository import HybridRepository
|
|
8
|
+
|
|
9
|
+
# Runtime
|
|
10
|
+
from kirun_py.runtime.ki_runtime import KIRuntime
|
|
11
|
+
from kirun_py.runtime.function_execution_parameters import FunctionExecutionParameters
|
|
12
|
+
from kirun_py.runtime.context_element import ContextElement
|
|
13
|
+
from kirun_py.runtime.statement_execution import StatementExecution
|
|
14
|
+
from kirun_py.runtime.statement_message import StatementMessage
|
|
15
|
+
from kirun_py.runtime.statement_message_type import StatementMessageType
|
|
16
|
+
from kirun_py.runtime.graph.execution_graph import ExecutionGraph
|
|
17
|
+
from kirun_py.runtime.graph.graph_vertex import GraphVertex
|
|
18
|
+
from kirun_py.runtime.graph.graph_vertex_type import GraphVertexType
|
|
19
|
+
from kirun_py.runtime.expression.expression import Expression
|
|
20
|
+
from kirun_py.runtime.expression.expression_evaluator import ExpressionEvaluator
|
|
21
|
+
from kirun_py.runtime.expression.operation import Operation
|
|
22
|
+
from kirun_py.runtime.expression.expression_token import ExpressionToken
|
|
23
|
+
from kirun_py.runtime.expression.expression_token_value import ExpressionTokenValue
|
|
24
|
+
from kirun_py.runtime.expression.exception.expression_evaluation_exception import ExpressionEvaluationException
|
|
25
|
+
from kirun_py.runtime.expression.tokenextractor.token_value_extractor import TokenValueExtractor
|
|
26
|
+
from kirun_py.runtime.expression.tokenextractor.literal_token_value_extractor import LiteralTokenValueExtractor
|
|
27
|
+
from kirun_py.runtime.tokenextractor.context_token_value_extractor import ContextTokenValueExtractor
|
|
28
|
+
from kirun_py.runtime.tokenextractor.output_map_token_value_extractor import OutputMapTokenValueExtractor
|
|
29
|
+
from kirun_py.runtime.tokenextractor.arguments_token_value_extractor import ArgumentsTokenValueExtractor
|
|
30
|
+
|
|
31
|
+
# Function abstractions
|
|
32
|
+
from kirun_py.function.function_ import Function
|
|
33
|
+
from kirun_py.function.abstract_function import AbstractFunction
|
|
34
|
+
|
|
35
|
+
# Model
|
|
36
|
+
from kirun_py.model.parameter import Parameter
|
|
37
|
+
from kirun_py.model.parameter_reference import ParameterReference
|
|
38
|
+
from kirun_py.model.parameter_reference_type import ParameterReferenceType
|
|
39
|
+
from kirun_py.model.parameter_type import ParameterType
|
|
40
|
+
from kirun_py.model.event import Event
|
|
41
|
+
from kirun_py.model.event_result import EventResult
|
|
42
|
+
from kirun_py.model.function_definition import FunctionDefinition
|
|
43
|
+
from kirun_py.model.function_signature import FunctionSignature
|
|
44
|
+
from kirun_py.model.function_output import FunctionOutput
|
|
45
|
+
from kirun_py.model.function_output_generator import FunctionOutputGenerator
|
|
46
|
+
from kirun_py.model.statement import Statement
|
|
47
|
+
from kirun_py.model.statement_group import StatementGroup
|
|
48
|
+
from kirun_py.model.abstract_statement import AbstractStatement
|
|
49
|
+
from kirun_py.model.argument import Argument
|
|
50
|
+
from kirun_py.model.position import Position
|
|
51
|
+
|
|
52
|
+
# JSON/Schema
|
|
53
|
+
from kirun_py.json.schema.schema import Schema, AdditionalType
|
|
54
|
+
from kirun_py.json.schema.schema_util import SchemaUtil
|
|
55
|
+
from kirun_py.json.schema.type.schema_type import SchemaType
|
|
56
|
+
from kirun_py.json.schema.type.type_util import TypeUtil
|
|
57
|
+
from kirun_py.json.schema.validator.schema_validator import SchemaValidator
|
|
58
|
+
from kirun_py.json.schema.validator.exception.schema_validation_exception import SchemaValidationException
|
|
59
|
+
|
|
60
|
+
# Namespaces
|
|
61
|
+
from kirun_py.namespaces.namespaces import Namespaces
|
|
62
|
+
|
|
63
|
+
# Exceptions
|
|
64
|
+
from kirun_py.exception.ki_runtime_exception import KIRuntimeException
|
|
65
|
+
from kirun_py.exception.execution_exception import ExecutionException
|
|
66
|
+
|
|
67
|
+
# Utilities
|
|
68
|
+
from kirun_py.util.null_check import is_null_value
|
|
69
|
+
from kirun_py.util.deep_equal import deep_equal
|
|
70
|
+
from kirun_py.util.linked_list import LinkedList
|
|
71
|
+
from kirun_py.util.tuples import Tuple2, Tuple3, Tuple4
|
|
72
|
+
from kirun_py.util.string.string_formatter import StringFormatter
|
|
73
|
+
from kirun_py.util.string.string_util import StringUtil
|
|
74
|
+
from kirun_py.util.string.string_builder import StringBuilder
|
|
75
|
+
|
|
76
|
+
__all__ = [
|
|
77
|
+
'KIRunFunctionRepository', 'KIRunSchemaRepository', 'Repository', 'HybridRepository',
|
|
78
|
+
'KIRuntime', 'FunctionExecutionParameters', 'ContextElement',
|
|
79
|
+
'StatementExecution', 'StatementMessage', 'StatementMessageType',
|
|
80
|
+
'ExecutionGraph', 'GraphVertex', 'GraphVertexType',
|
|
81
|
+
'Expression', 'ExpressionEvaluator', 'Operation', 'ExpressionToken',
|
|
82
|
+
'ExpressionTokenValue', 'ExpressionEvaluationException',
|
|
83
|
+
'TokenValueExtractor', 'LiteralTokenValueExtractor',
|
|
84
|
+
'ContextTokenValueExtractor', 'OutputMapTokenValueExtractor', 'ArgumentsTokenValueExtractor',
|
|
85
|
+
'Function', 'AbstractFunction',
|
|
86
|
+
'Parameter', 'ParameterReference', 'ParameterReferenceType', 'ParameterType',
|
|
87
|
+
'Event', 'EventResult', 'FunctionDefinition', 'FunctionSignature', 'FunctionOutput',
|
|
88
|
+
'FunctionOutputGenerator', 'Statement', 'StatementGroup', 'AbstractStatement',
|
|
89
|
+
'Argument', 'Position',
|
|
90
|
+
'Schema', 'AdditionalType', 'SchemaUtil', 'SchemaType', 'TypeUtil',
|
|
91
|
+
'SchemaValidator', 'SchemaValidationException',
|
|
92
|
+
'Namespaces',
|
|
93
|
+
'KIRuntimeException', 'ExecutionException',
|
|
94
|
+
'is_null_value', 'deep_equal', 'LinkedList', 'Tuple2', 'Tuple3', 'Tuple4',
|
|
95
|
+
'StringFormatter', 'StringUtil', 'StringBuilder',
|
|
96
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .ki_run_constants import KIRunConstants
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Any, List, Optional
|
|
4
|
+
|
|
5
|
+
from kirun_py.dsl.lexer.dsl_lexer import DSLLexer
|
|
6
|
+
from kirun_py.dsl.parser.dsl_parser import DSLParser
|
|
7
|
+
from kirun_py.dsl.transformer.ast_to_json import ASTToJSONTransformer
|
|
8
|
+
from kirun_py.dsl.transformer.json_to_text import JSONToTextTransformer
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class FormattedError:
|
|
12
|
+
"""Formatted error for user-friendly display."""
|
|
13
|
+
|
|
14
|
+
def __init__(
|
|
15
|
+
self,
|
|
16
|
+
message: str,
|
|
17
|
+
line: Optional[int] = None,
|
|
18
|
+
column: Optional[int] = None,
|
|
19
|
+
snippet: Optional[str] = None,
|
|
20
|
+
) -> None:
|
|
21
|
+
self.message = message
|
|
22
|
+
self.line = line
|
|
23
|
+
self.column = column
|
|
24
|
+
self.snippet = snippet
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class ValidationResult:
|
|
28
|
+
"""Validation result with errors if any."""
|
|
29
|
+
|
|
30
|
+
def __init__(self, valid: bool, errors: Optional[List[FormattedError]] = None) -> None:
|
|
31
|
+
self.valid = valid
|
|
32
|
+
self.errors: List[FormattedError] = errors if errors is not None else []
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class DSLCompiler:
|
|
36
|
+
"""
|
|
37
|
+
DSL Compiler - High-level API.
|
|
38
|
+
Main entry point for DSL compilation and decompilation.
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
@staticmethod
|
|
42
|
+
def compile(text: str) -> Any:
|
|
43
|
+
"""
|
|
44
|
+
Compile DSL text to FunctionDefinition JSON.
|
|
45
|
+
|
|
46
|
+
Args:
|
|
47
|
+
text: DSL source text.
|
|
48
|
+
|
|
49
|
+
Returns:
|
|
50
|
+
FunctionDefinition JSON (dict).
|
|
51
|
+
"""
|
|
52
|
+
# 1. Lex
|
|
53
|
+
lexer = DSLLexer(text)
|
|
54
|
+
tokens = lexer.tokenize()
|
|
55
|
+
|
|
56
|
+
# 2. Parse (pass original input for exact expression extraction)
|
|
57
|
+
parser = DSLParser(tokens, text)
|
|
58
|
+
ast = parser.parse()
|
|
59
|
+
|
|
60
|
+
# 3. Transform
|
|
61
|
+
transformer = ASTToJSONTransformer()
|
|
62
|
+
|
|
63
|
+
# Flatten nested blocks before transformation
|
|
64
|
+
transformer.flatten_nested_blocks(ast)
|
|
65
|
+
|
|
66
|
+
json_obj = transformer.transform(ast)
|
|
67
|
+
|
|
68
|
+
return json_obj
|
|
69
|
+
|
|
70
|
+
@staticmethod
|
|
71
|
+
async def decompile(json_obj: Any) -> str:
|
|
72
|
+
"""
|
|
73
|
+
Decompile FunctionDefinition JSON to DSL text.
|
|
74
|
+
|
|
75
|
+
Args:
|
|
76
|
+
json_obj: FunctionDefinition JSON (dict).
|
|
77
|
+
|
|
78
|
+
Returns:
|
|
79
|
+
DSL source text.
|
|
80
|
+
"""
|
|
81
|
+
transformer = JSONToTextTransformer()
|
|
82
|
+
return await transformer.transform(json_obj)
|
|
83
|
+
|
|
84
|
+
@staticmethod
|
|
85
|
+
def validate(text: str) -> ValidationResult:
|
|
86
|
+
"""
|
|
87
|
+
Validate DSL syntax without full compilation.
|
|
88
|
+
|
|
89
|
+
Args:
|
|
90
|
+
text: DSL source text.
|
|
91
|
+
|
|
92
|
+
Returns:
|
|
93
|
+
ValidationResult with errors if any.
|
|
94
|
+
"""
|
|
95
|
+
try:
|
|
96
|
+
DSLCompiler.compile(text)
|
|
97
|
+
return ValidationResult(valid=True)
|
|
98
|
+
except Exception as error:
|
|
99
|
+
return ValidationResult(
|
|
100
|
+
valid=False,
|
|
101
|
+
errors=[DSLCompiler._format_error(error)],
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
@staticmethod
|
|
105
|
+
async def format(text: str) -> str:
|
|
106
|
+
"""
|
|
107
|
+
Format DSL text (parse and regenerate with consistent formatting).
|
|
108
|
+
|
|
109
|
+
Args:
|
|
110
|
+
text: DSL source text.
|
|
111
|
+
|
|
112
|
+
Returns:
|
|
113
|
+
Formatted DSL text.
|
|
114
|
+
"""
|
|
115
|
+
json_obj = DSLCompiler.compile(text)
|
|
116
|
+
return await DSLCompiler.decompile(json_obj)
|
|
117
|
+
|
|
118
|
+
@staticmethod
|
|
119
|
+
def _format_error(error: Exception) -> FormattedError:
|
|
120
|
+
"""Format error for user-friendly display."""
|
|
121
|
+
formatted = FormattedError(
|
|
122
|
+
message=str(error) or 'Unknown error',
|
|
123
|
+
)
|
|
124
|
+
|
|
125
|
+
location = getattr(error, 'location', None)
|
|
126
|
+
if location is not None:
|
|
127
|
+
formatted.line = getattr(location, 'line', None)
|
|
128
|
+
formatted.column = getattr(location, 'column', None)
|
|
129
|
+
|
|
130
|
+
return formatted
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from kirun_py.dsl.lexer.dsl_token import DSLTokenType, SourceLocation, DSLToken
|
|
4
|
+
from kirun_py.dsl.lexer.keywords import KEYWORDS, BLOCK_NAMES, PRIMITIVE_TYPES, is_keyword, is_block_name, is_primitive_type
|
|
5
|
+
from kirun_py.dsl.lexer.lexer_error import LexerError
|
|
6
|
+
from kirun_py.dsl.lexer.dsl_lexer import DSLLexer
|
|
7
|
+
|
|
8
|
+
__all__ = [
|
|
9
|
+
'DSLTokenType', 'SourceLocation', 'DSLToken',
|
|
10
|
+
'KEYWORDS', 'BLOCK_NAMES', 'PRIMITIVE_TYPES',
|
|
11
|
+
'is_keyword', 'is_block_name', 'is_primitive_type',
|
|
12
|
+
'LexerError',
|
|
13
|
+
'DSLLexer',
|
|
14
|
+
]
|