ripple-down-rules 0.6.45__tar.gz → 0.6.46__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.
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/PKG-INFO +1 -1
- ripple_down_rules-0.6.46/src/ripple_down_rules/__init__.py +5 -0
- ripple_down_rules-0.6.46/src/ripple_down_rules/failures.py +4 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/rdr.py +3 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/rdr_decorators.py +1 -3
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/utils.py +5 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules.egg-info/PKG-INFO +1 -1
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules.egg-info/SOURCES.txt +1 -1
- ripple_down_rules-0.6.46/test/test_results/datasets_physical_object_is_a_robot/physical_object_is_a_robot_output__scrdr_defs.py +19 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_results/datasets_physical_object_is_a_robot/rdr_metadata/datasets_physical_object_is_a_robot.json +4 -4
- ripple_down_rules-0.6.46/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/physical_object_select_objects_that_are_parts_of_robot_output__mcrdr_defs.py +19 -0
- ripple_down_rules-0.6.45/src/ripple_down_rules/__init__.py +0 -5
- ripple_down_rules-0.6.45/test/test_results/datasets_physical_object_is_a_robot/physical_object_is_a_robot_output__scrdr_defs.py +0 -19
- ripple_down_rules-0.6.45/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/physical_object_select_objects_that_are_parts_of_robot_output__mcrdr_defs.py +0 -19
- ripple_down_rules-0.6.45/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/rdr_metadata/datasets_physical_object_select_objects_that_are_parts_of_robot.json +0 -59
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/.github/workflows/build_and_deploy_doc.yml +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/.github/workflows/ci.yml +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/.github/workflows/publish-to-test-pypi.yml +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/.gitignore +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/.idea/shelf/Uncommitted_changes_before_Checkout_at_2_4_25,_6_32_PM_[Changes]/shelved.patch +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/.idea/shelf/Uncommitted_changes_before_Checkout_at_2_4_25,_6_32_PM_[Changes]1/shelved.patch +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/LICENSE +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/README.md +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/doc/_config.yml +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/doc/_toc.yml +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/doc/bibliography.md +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/doc/intro.md +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/doc/references.bib +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/doc/requirements.txt +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/examples/__init__.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/examples/animal_species.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/examples/part_containment_rdr/__init__.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/examples/part_containment_rdr/rdr_metadata/part_containment_rdr.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/examples/part_containment_rdr/robot_contained_objects_mcrdr.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/examples/part_containment_rdr/robot_contained_objects_mcrdr_defs.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/examples/part_containment_rdr/robot_rdr.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/examples/relational_example.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/images/scrdr.dot +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/images/scrdr.png +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/images/thinking_pr2.jpg +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/pyproject.toml +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/pytest.ini +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/requirements-dev-ci.txt +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/requirements-dev.txt +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/requirements-gui.txt +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/requirements-viz.txt +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/requirements.txt +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/complete_mcrdr_extra.dot +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/complete_mcrdr_extra.png +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/complete_mcrdr_stop_only.dot +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/complete_mcrdr_stop_only.png +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/complete_mcrdr_stop_plus_rule.dot +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/complete_mcrdr_stop_plus_rule.png +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/complete_scrdr.dot +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/complete_scrdr.png +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/complete_scrdr_2.dot +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/complete_scrdr_2.png +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/complete_scrdr_3.dot +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/complete_scrdr_3.png +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/grdr_Habitat.dot +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/grdr_Habitat.png +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/grdr_Species.dot +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/grdr_Species.png +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/mcrdr_extra.dot +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/mcrdr_extra.png +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/mcrdr_extra_classify.dot +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/mcrdr_extra_classify.png +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/mcrdr_stop_plus_rule_combined.dot +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/mcrdr_stop_plus_rule_combined.png +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/partial_mcrdr_extra.dot +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/partial_mcrdr_extra.png +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/relational_scrdr_classify.dot +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/relational_scrdr_classify.png +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/scripts/live_dot_server_client.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/setup.cfg +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/datastructures/__init__.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/datastructures/callable_expression.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/datastructures/case.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/datastructures/dataclasses.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/datastructures/enums.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/experts.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/helpers.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/rules.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/start-code-server.sh +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/user_interface/__init__.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/user_interface/gui.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/user_interface/ipython_custom_shell.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/user_interface/object_diagram.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/user_interface/prompt.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/user_interface/template_file_creator.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules.egg-info/dependency_links.txt +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules.egg-info/requires.txt +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules.egg-info/top_level.txt +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/__init__.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/conf/__init__.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/conf/world/__init__.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/conf/world/base_config.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/conf/world/handles_and_containers.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/conftest.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/datasets.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/factories/__init__.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/factories/world/__init__.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/factories/world/handles_and_containers.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/__init__.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/correct_drawer_rdr_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/drawer_cabinet_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/grdr_expert_answers_classify.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/grdr_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/grdr_expert_answers_fit.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/grdr_expert_answers_fit_extra.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/grdr_expert_answers_fit_no_targets.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/grdr_expert_answers_fit_no_targets.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/mcrdr_expert_answers_classify.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/mcrdr_expert_answers_fit_no_targets.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/mcrdr_expert_answers_fit_no_targets.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/mcrdr_expert_answers_stop_only_fit.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/mcrdr_expert_answers_stop_only_fit.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/mcrdr_extra_expert_answers_classify.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/mcrdr_extra_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/mcrdr_multi_line_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/mcrdr_multi_line_expert_answers_fit.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/mcrdr_stop_only_answers_fit.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/mcrdr_stop_plus_rule_answers_fit.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/mcrdr_stop_plus_rule_combined_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/mcrdr_stop_plus_rule_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/mutagenic_expert_answers.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/relational_scrdr_expert_answers_classify.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/scrdr_expert_answers_classify.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/scrdr_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/scrdr_expert_answers_fit.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/scrdr_expert_answers_fit_no_targets.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/scrdr_expert_answers_fit_no_targets.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/scrdr_multi_line_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/scrdr_multi_line_expert_answers_fit.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_expert_answers/scrdr_world_expert_answers_fit.json +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_generated_rdrs/__init__.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_helpers/__init__.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_helpers/helpers.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_helpers/object_diagram_case_query.png +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_helpers/object_diagram_person.png +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_json_serialization.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_object_diagram.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_on_mutagenic.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_rdr.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_rdr_alchemy.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_rdr_decorators.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_rdr_helpers_rdrs.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_rdr_world/__init__.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_rdr_world/conftest.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_rdr_world/test_rdr_world.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_relational_rdr.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_relational_rdr_alchemy.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_results/datasets_physical_object_is_a_robot/__init__.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_results/datasets_physical_object_is_a_robot/physical_object_is_a_robot_output__scrdr.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_results/datasets_physical_object_is_a_robot/physical_object_is_a_robot_rdr.py +1 -1
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/__init__.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/physical_object_select_objects_that_are_parts_of_robot_output__mcrdr.py +1 -1
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/physical_object_select_objects_that_are_parts_of_robot_rdr.py +1 -1
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_sql_model.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_template_file_creator.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_user_interface/__init__.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_user_interface/test_ipython.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_user_interface/test_ipython_copilot.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_user_interface/test_prompt.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_user_interface/test_qt_gui_inline.py +0 -0
- {ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_utils.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ripple_down_rules
|
3
|
-
Version: 0.6.
|
3
|
+
Version: 0.6.46
|
4
4
|
Summary: Implements the various versions of Ripple Down Rules (RDR) for knowledge representation and reasoning.
|
5
5
|
Author-email: Abdelrhman Bassiouny <abassiou@uni-bremen.de>
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
@@ -15,6 +15,7 @@ from types import NoneType, ModuleType
|
|
15
15
|
|
16
16
|
from ripple_down_rules.datastructures.dataclasses import CaseFactoryMetaData
|
17
17
|
from . import logger
|
18
|
+
from .failures import RDRLoadError
|
18
19
|
|
19
20
|
try:
|
20
21
|
from matplotlib import pyplot as plt
|
@@ -228,6 +229,8 @@ class RippleDownRules(SubclassJSONSerializer, ABC):
|
|
228
229
|
except (FileNotFoundError, ValueError, SyntaxError, ModuleNotFoundError) as e:
|
229
230
|
logger.warning(f"Could not load the python file for the model {model_name} from {model_dir}. "
|
230
231
|
f"Make sure the file exists and is valid.")
|
232
|
+
if rdr is None:
|
233
|
+
raise RDRLoadError(f"Could not load the rdr model {model_name} from {model_dir}, error is {e}")
|
231
234
|
rdr.save(save_dir=load_dir, model_name=model_name, package_name=package_name)
|
232
235
|
rdr.save_dir = load_dir
|
233
236
|
rdr.model_name = model_name
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/rdr_decorators.py
RENAMED
@@ -213,9 +213,7 @@ class RDRDecorator:
|
|
213
213
|
"""
|
214
214
|
self.rdr = None
|
215
215
|
if self.model_name is not None:
|
216
|
-
|
217
|
-
if os.path.exists(os.path.join(self.rdr_models_dir, model_path)):
|
218
|
-
self.rdr = GeneralRDR.load(self.rdr_models_dir, self.model_name, package_name=self.package_name)
|
216
|
+
self.rdr = GeneralRDR.load(self.rdr_models_dir, self.model_name, package_name=self.package_name)
|
219
217
|
if self.rdr is None:
|
220
218
|
self.rdr = GeneralRDR(save_dir=self.rdr_models_dir, model_name=self.model_name)
|
221
219
|
|
@@ -177,6 +177,11 @@ def extract_imports(file_path: Optional[str] = None, tree: Optional[ast.AST] = N
|
|
177
177
|
try:
|
178
178
|
if node.level > 0: # Handle relative imports
|
179
179
|
package_name = get_import_path_from_path(Path(os.path.join(file_path, *['..'] * node.level)).resolve())
|
180
|
+
if package_name is not None and node.level > 0: # Handle relative imports
|
181
|
+
module_rel_path = Path(os.path.join(file_path, *['..'] * node.level, module_name)).resolve()
|
182
|
+
idx = str(module_rel_path).rfind(package_name)
|
183
|
+
if idx != -1:
|
184
|
+
module_name = str(module_rel_path)[idx:].replace(os.path.sep, '.')
|
180
185
|
try:
|
181
186
|
module = importlib.import_module(module_name, package=package_name)
|
182
187
|
except ModuleNotFoundError:
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules.egg-info/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ripple_down_rules
|
3
|
-
Version: 0.6.
|
3
|
+
Version: 0.6.46
|
4
4
|
Summary: Implements the various versions of Ripple Down Rules (RDR) for knowledge representation and reasoning.
|
5
5
|
Author-email: Abdelrhman Bassiouny <abassiou@uni-bremen.de>
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules.egg-info/SOURCES.txt
RENAMED
@@ -59,6 +59,7 @@ results/relational_scrdr_classify.png
|
|
59
59
|
scripts/live_dot_server_client.py
|
60
60
|
src/ripple_down_rules/__init__.py
|
61
61
|
src/ripple_down_rules/experts.py
|
62
|
+
src/ripple_down_rules/failures.py
|
62
63
|
src/ripple_down_rules/helpers.py
|
63
64
|
src/ripple_down_rules/rdr.py
|
64
65
|
src/ripple_down_rules/rdr_decorators.py
|
@@ -152,7 +153,6 @@ test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robo
|
|
152
153
|
test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/physical_object_select_objects_that_are_parts_of_robot_output__mcrdr.py
|
153
154
|
test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/physical_object_select_objects_that_are_parts_of_robot_output__mcrdr_defs.py
|
154
155
|
test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/physical_object_select_objects_that_are_parts_of_robot_rdr.py
|
155
|
-
test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/rdr_metadata/datasets_physical_object_select_objects_that_are_parts_of_robot.json
|
156
156
|
test/test_user_interface/__init__.py
|
157
157
|
test/test_user_interface/test_ipython.py
|
158
158
|
test/test_user_interface/test_ipython_copilot.py
|
@@ -0,0 +1,19 @@
|
|
1
|
+
from ...datasets import PhysicalObject, Robot
|
2
|
+
from types import NoneType
|
3
|
+
from typing_extensions import Dict, Optional, Union
|
4
|
+
|
5
|
+
|
6
|
+
def conditions_226969243620390858682731042391766665817(case) -> bool:
|
7
|
+
def conditions_for_physical_object_is_a_robot(self_: PhysicalObject, output_: bool) -> bool:
|
8
|
+
"""Get conditions on whether it's possible to conclude a value for PhysicalObject_is_a_robot.output_ of type ."""
|
9
|
+
return True
|
10
|
+
return conditions_for_physical_object_is_a_robot(**case)
|
11
|
+
|
12
|
+
|
13
|
+
def conclusion_226969243620390858682731042391766665817(case) -> bool:
|
14
|
+
def physical_object_is_a_robot(self_: PhysicalObject, output_: bool) -> bool:
|
15
|
+
"""Get possible value(s) for PhysicalObject_is_a_robot.output_ of type ."""
|
16
|
+
return isinstance(self_, Robot)
|
17
|
+
return physical_object_is_a_robot(**case)
|
18
|
+
|
19
|
+
|
@@ -7,7 +7,7 @@
|
|
7
7
|
"_type": "ripple_down_rules.rules.SingleClassRule",
|
8
8
|
"conditions": {
|
9
9
|
"_type": "ripple_down_rules.datastructures.callable_expression.CallableExpression",
|
10
|
-
"user_input": "def _get_value(case):\n
|
10
|
+
"user_input": "def _get_value(case):\n def conditions_for_physical_object_is_a_robot(self_: PhysicalObject, output_: bool) -> bool:\n \"\"\"Get conditions on whether it's possible to conclude a value for PhysicalObject_is_a_robot.output_ of type .\"\"\"\n return True\n return conditions_for_physical_object_is_a_robot(**case)\n ",
|
11
11
|
"conclusion_type": [
|
12
12
|
"builtins.bool"
|
13
13
|
],
|
@@ -22,13 +22,13 @@
|
|
22
22
|
},
|
23
23
|
"conclusion": {
|
24
24
|
"_type": "ripple_down_rules.datastructures.callable_expression.CallableExpression",
|
25
|
-
"user_input": "def _get_value(case):\n
|
25
|
+
"user_input": "def _get_value(case):\n def physical_object_is_a_robot(self_: PhysicalObject, output_: bool) -> bool:\n \"\"\"Get possible value(s) for PhysicalObject_is_a_robot.output_ of type .\"\"\"\n return isinstance(self_, Robot)\n return physical_object_is_a_robot(**case)\n ",
|
26
26
|
"conclusion_type": [
|
27
27
|
"builtins.bool"
|
28
28
|
],
|
29
29
|
"scope": {
|
30
|
-
"
|
31
|
-
"
|
30
|
+
"Robot": "test.datasets.Robot",
|
31
|
+
"PhysicalObject": "test.datasets.PhysicalObject"
|
32
32
|
},
|
33
33
|
"conclusion": {
|
34
34
|
"_type": "builtins.NoneType",
|
@@ -0,0 +1,19 @@
|
|
1
|
+
from typing_extensions import Dict, List, Set, Union
|
2
|
+
from ...datasets import PhysicalObject, Robot
|
3
|
+
|
4
|
+
|
5
|
+
def conditions_164855806603893754507167918997373216146(case) -> bool:
|
6
|
+
def conditions_for_physical_object_select_objects_that_are_parts_of_robot(self_: PhysicalObject, objects: List[PhysicalObject], robot: Robot, output_: PhysicalObject) -> bool:
|
7
|
+
"""Get conditions on whether it's possible to conclude a value for PhysicalObject_select_objects_that_are_parts_of_robot.output_ of type PhysicalObject."""
|
8
|
+
return robot is not None
|
9
|
+
return conditions_for_physical_object_select_objects_that_are_parts_of_robot(**case)
|
10
|
+
|
11
|
+
|
12
|
+
def conclusion_164855806603893754507167918997373216146(case) -> List[PhysicalObject]:
|
13
|
+
def physical_object_select_objects_that_are_parts_of_robot(self_: PhysicalObject, objects: List[PhysicalObject], robot: Robot, output_: PhysicalObject) -> List[PhysicalObject]:
|
14
|
+
"""Get possible value(s) for PhysicalObject_select_objects_that_are_parts_of_robot.output_ of type PhysicalObject."""
|
15
|
+
robot_parts = [obj for obj in objects if obj in robot.parts]
|
16
|
+
return robot_parts
|
17
|
+
return physical_object_select_objects_that_are_parts_of_robot(**case)
|
18
|
+
|
19
|
+
|
@@ -1,19 +0,0 @@
|
|
1
|
-
from types import NoneType
|
2
|
-
from typing_extensions import Dict, Optional, Union
|
3
|
-
from ...datasets import PhysicalObject, Robot
|
4
|
-
|
5
|
-
|
6
|
-
def conditions_226969243620390858682731042391766665817(case) -> bool:
|
7
|
-
def conditions_for_physical_object_is_a_robot(self_: PhysicalObject, output_: bool) -> bool:
|
8
|
-
"""Get conditions on whether it's possible to conclude a value for PhysicalObject_is_a_robot.output_ of type ."""
|
9
|
-
return True
|
10
|
-
return conditions_for_physical_object_is_a_robot(**case)
|
11
|
-
|
12
|
-
|
13
|
-
def conclusion_226969243620390858682731042391766665817(case) -> bool:
|
14
|
-
def physical_object_is_a_robot(self_: PhysicalObject, output_: bool) -> bool:
|
15
|
-
"""Get possible value(s) for PhysicalObject_is_a_robot.output_ of type ."""
|
16
|
-
return isinstance(self_, Robot)
|
17
|
-
return physical_object_is_a_robot(**case)
|
18
|
-
|
19
|
-
|
@@ -1,19 +0,0 @@
|
|
1
|
-
from ...datasets import PhysicalObject, Robot
|
2
|
-
from typing_extensions import Dict, List, Set, Union
|
3
|
-
|
4
|
-
|
5
|
-
def conditions_164855806603893754507167918997373216146(case) -> bool:
|
6
|
-
def conditions_for_physical_object_select_objects_that_are_parts_of_robot(self_: PhysicalObject, objects: List[PhysicalObject], robot: Robot, output_: PhysicalObject) -> bool:
|
7
|
-
"""Get conditions on whether it's possible to conclude a value for PhysicalObject_select_objects_that_are_parts_of_robot.output_ of type PhysicalObject."""
|
8
|
-
return robot is not None
|
9
|
-
return conditions_for_physical_object_select_objects_that_are_parts_of_robot(**case)
|
10
|
-
|
11
|
-
|
12
|
-
def conclusion_164855806603893754507167918997373216146(case) -> List[PhysicalObject]:
|
13
|
-
def physical_object_select_objects_that_are_parts_of_robot(self_: PhysicalObject, objects: List[PhysicalObject], robot: Robot, output_: PhysicalObject) -> List[PhysicalObject]:
|
14
|
-
"""Get possible value(s) for PhysicalObject_select_objects_that_are_parts_of_robot.output_ of type PhysicalObject."""
|
15
|
-
robot_parts = [obj for obj in objects if obj in robot.parts]
|
16
|
-
return robot_parts
|
17
|
-
return physical_object_select_objects_that_are_parts_of_robot(**case)
|
18
|
-
|
19
|
-
|
@@ -1,59 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"_type": "ripple_down_rules.rdr.GeneralRDR",
|
3
|
-
"start_rules": {
|
4
|
-
"output_": {
|
5
|
-
"_type": "ripple_down_rules.rdr.MultiClassRDR",
|
6
|
-
"start_rule": {
|
7
|
-
"_type": "ripple_down_rules.rules.MultiClassTopRule",
|
8
|
-
"conditions": {
|
9
|
-
"_type": "ripple_down_rules.datastructures.callable_expression.CallableExpression",
|
10
|
-
"user_input": "def _get_value(case):\n def conditions_for_physical_object_select_objects_that_are_parts_of_robot(self_: PhysicalObject, objects: List[PhysicalObject], robot: Robot, output_: PhysicalObject) -> bool:\n \"\"\"Get conditions on whether it's possible to conclude a value for PhysicalObject_select_objects_that_are_parts_of_robot.output_ of type PhysicalObject.\"\"\"\n return robot is not None\n return conditions_for_physical_object_select_objects_that_are_parts_of_robot(**case)\n ",
|
11
|
-
"conclusion_type": [
|
12
|
-
"builtins.bool"
|
13
|
-
],
|
14
|
-
"scope": {
|
15
|
-
"PhysicalObject": "test.datasets.PhysicalObject",
|
16
|
-
"Robot": "test.datasets.Robot",
|
17
|
-
"List": "typing.List"
|
18
|
-
},
|
19
|
-
"conclusion": {
|
20
|
-
"_type": "builtins.NoneType",
|
21
|
-
"value": null
|
22
|
-
},
|
23
|
-
"mutually_exclusive": true
|
24
|
-
},
|
25
|
-
"conclusion": {
|
26
|
-
"_type": "ripple_down_rules.datastructures.callable_expression.CallableExpression",
|
27
|
-
"user_input": "def _get_value(case):\n def physical_object_select_objects_that_are_parts_of_robot(self_: PhysicalObject, objects: List[PhysicalObject], robot: Robot, output_: PhysicalObject) -> List[PhysicalObject]:\n \"\"\"Get possible value(s) for PhysicalObject_select_objects_that_are_parts_of_robot.output_ of type PhysicalObject.\"\"\"\n robot_parts = [obj for obj in objects if obj in robot.parts]\n return robot_parts\n return physical_object_select_objects_that_are_parts_of_robot(**case)\n ",
|
28
|
-
"conclusion_type": [
|
29
|
-
"test.datasets.PhysicalObject"
|
30
|
-
],
|
31
|
-
"scope": {
|
32
|
-
"PhysicalObject": "test.datasets.PhysicalObject",
|
33
|
-
"Robot": "test.datasets.Robot",
|
34
|
-
"List": "typing.List"
|
35
|
-
},
|
36
|
-
"conclusion": {
|
37
|
-
"_type": "builtins.NoneType",
|
38
|
-
"value": null
|
39
|
-
},
|
40
|
-
"mutually_exclusive": false
|
41
|
-
},
|
42
|
-
"parent": null,
|
43
|
-
"conclusion_name": "output_",
|
44
|
-
"weight": "",
|
45
|
-
"uid": "164855806603893754507167918997373216146",
|
46
|
-
"refinement": null,
|
47
|
-
"alternative": null
|
48
|
-
},
|
49
|
-
"generated_python_file_name": "physical_object_select_objects_that_are_parts_of_robot_output__mcrdr",
|
50
|
-
"name": "output_",
|
51
|
-
"case_type": "typing.Dict",
|
52
|
-
"case_name": "PhysicalObject_select_objects_that_are_parts_of_robot"
|
53
|
-
}
|
54
|
-
},
|
55
|
-
"generated_python_file_name": "physical_object_select_objects_that_are_parts_of_robot_rdr",
|
56
|
-
"name": "output_",
|
57
|
-
"case_type": "typing.Dict",
|
58
|
-
"case_name": "PhysicalObject_select_objects_that_are_parts_of_robot"
|
59
|
-
}
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/.github/workflows/build_and_deploy_doc.yml
RENAMED
File without changes
|
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/.github/workflows/publish-to-test-pypi.yml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/examples/part_containment_rdr/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/examples/part_containment_rdr/robot_rdr.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/complete_mcrdr_stop_plus_rule.dot
RENAMED
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/complete_mcrdr_stop_plus_rule.png
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/mcrdr_stop_plus_rule_combined.dot
RENAMED
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/results/mcrdr_stop_plus_rule_combined.png
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/datastructures/case.py
RENAMED
File without changes
|
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/datastructures/enums.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/start-code-server.sh
RENAMED
File without changes
|
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/user_interface/gui.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules/user_interface/prompt.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules.egg-info/requires.txt
RENAMED
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/src/ripple_down_rules.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/conf/world/handles_and_containers.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/factories/world/handles_and_containers.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_helpers/object_diagram_person.png
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from typing_extensions import Any, Dict
|
2
|
-
from ripple_down_rules.datastructures.case import Case, create_case
|
3
2
|
from ripple_down_rules.helpers import general_rdr_classify
|
3
|
+
from ripple_down_rules.datastructures.case import Case, create_case
|
4
4
|
from . import physical_object_is_a_robot_output__scrdr as output__classifier
|
5
5
|
|
6
6
|
name = 'output_'
|
File without changes
|
@@ -1,7 +1,7 @@
|
|
1
|
-
from ripple_down_rules.helpers import get_an_updated_case_copy
|
2
1
|
from ripple_down_rules.datastructures.case import Case, create_case
|
3
2
|
from typing_extensions import Optional, Set
|
4
3
|
from ripple_down_rules.utils import make_set
|
4
|
+
from ripple_down_rules.helpers import get_an_updated_case_copy
|
5
5
|
from .physical_object_select_objects_that_are_parts_of_robot_output__mcrdr_defs import *
|
6
6
|
|
7
7
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from typing_extensions import Any, Dict
|
2
|
-
from ripple_down_rules.datastructures.case import Case, create_case
|
3
2
|
from ripple_down_rules.helpers import general_rdr_classify
|
3
|
+
from ripple_down_rules.datastructures.case import Case, create_case
|
4
4
|
from . import physical_object_select_objects_that_are_parts_of_robot_output__mcrdr as output__classifier
|
5
5
|
|
6
6
|
name = 'output_'
|
File without changes
|
File without changes
|
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_user_interface/test_ipython.py
RENAMED
File without changes
|
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_user_interface/test_prompt.py
RENAMED
File without changes
|
{ripple_down_rules-0.6.45 → ripple_down_rules-0.6.46}/test/test_user_interface/test_qt_gui_inline.py
RENAMED
File without changes
|
File without changes
|