ripple-down-rules 0.5.2__tar.gz → 0.5.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.
Files changed (137) hide show
  1. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/.github/workflows/build_and_deploy_doc.yml +2 -0
  2. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/PKG-INFO +6 -2
  3. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/README.md +5 -1
  4. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/doc/_toc.yml +0 -1
  5. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/doc/intro.md +1 -1
  6. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/__init__.py +1 -1
  7. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/experts.py +0 -38
  8. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules.egg-info/PKG-INFO +6 -2
  9. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules.egg-info/SOURCES.txt +0 -1
  10. ripple_down_rules-0.5.2/src/ripple_down_rules/failures.py +0 -10
  11. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/.github/workflows/ci.yml +0 -0
  12. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/.github/workflows/publish-to-test-pypi.yml +0 -0
  13. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/.idea/shelf/Uncommitted_changes_before_Checkout_at_2_4_25,_6_32_PM_[Changes]/shelved.patch +0 -0
  14. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/.idea/shelf/Uncommitted_changes_before_Checkout_at_2_4_25,_6_32_PM_[Changes]1/shelved.patch +0 -0
  15. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/LICENSE +0 -0
  16. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/doc/_config.yml +0 -0
  17. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/doc/bibliography.md +0 -0
  18. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/doc/references.bib +0 -0
  19. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/doc/requirements.txt +0 -0
  20. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/examples/__init__.py +0 -0
  21. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/examples/animal_species.py +0 -0
  22. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/examples/part_containment_rdr/__init__.py +0 -0
  23. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/examples/part_containment_rdr/rdr_metadata/part_containment_rdr.json +0 -0
  24. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/examples/part_containment_rdr/robot_contained_objects_mcrdr.py +0 -0
  25. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/examples/part_containment_rdr/robot_contained_objects_mcrdr_defs.py +0 -0
  26. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/examples/part_containment_rdr/robot_rdr.py +0 -0
  27. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/examples/relational_example.py +0 -0
  28. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/images/thinking_pr2.jpg +0 -0
  29. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/pyproject.toml +0 -0
  30. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/pytest.ini +0 -0
  31. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/requirements-dev-ci.txt +0 -0
  32. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/requirements-dev.txt +0 -0
  33. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/requirements-gui.txt +0 -0
  34. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/requirements-viz.txt +0 -0
  35. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/requirements.txt +0 -0
  36. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/complete_mcrdr_extra.dot +0 -0
  37. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/complete_mcrdr_extra.png +0 -0
  38. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/complete_mcrdr_stop_only.dot +0 -0
  39. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/complete_mcrdr_stop_only.png +0 -0
  40. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/complete_mcrdr_stop_plus_rule.dot +0 -0
  41. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/complete_mcrdr_stop_plus_rule.png +0 -0
  42. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/complete_scrdr.dot +0 -0
  43. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/complete_scrdr.png +0 -0
  44. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/complete_scrdr_2.dot +0 -0
  45. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/complete_scrdr_2.png +0 -0
  46. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/complete_scrdr_3.dot +0 -0
  47. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/complete_scrdr_3.png +0 -0
  48. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/grdr_Habitat.dot +0 -0
  49. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/grdr_Habitat.png +0 -0
  50. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/grdr_Species.dot +0 -0
  51. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/grdr_Species.png +0 -0
  52. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/mcrdr_extra.dot +0 -0
  53. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/mcrdr_extra.png +0 -0
  54. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/mcrdr_extra_classify.dot +0 -0
  55. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/mcrdr_extra_classify.png +0 -0
  56. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/mcrdr_stop_plus_rule_combined.dot +0 -0
  57. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/mcrdr_stop_plus_rule_combined.png +0 -0
  58. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/partial_mcrdr_extra.dot +0 -0
  59. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/partial_mcrdr_extra.png +0 -0
  60. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/relational_scrdr_classify.dot +0 -0
  61. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/results/relational_scrdr_classify.png +0 -0
  62. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/setup.cfg +0 -0
  63. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/datastructures/__init__.py +0 -0
  64. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/datastructures/callable_expression.py +0 -0
  65. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/datastructures/case.py +0 -0
  66. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/datastructures/dataclasses.py +0 -0
  67. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/datastructures/enums.py +0 -0
  68. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/helpers.py +0 -0
  69. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/rdr.py +0 -0
  70. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/rdr_decorators.py +0 -0
  71. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/rules.py +0 -0
  72. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/start-code-server.sh +0 -0
  73. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/user_interface/__init__.py +0 -0
  74. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/user_interface/gui.py +0 -0
  75. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/user_interface/ipython_custom_shell.py +0 -0
  76. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/user_interface/object_diagram.py +0 -0
  77. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/user_interface/prompt.py +0 -0
  78. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/user_interface/template_file_creator.py +0 -0
  79. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules/utils.py +0 -0
  80. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules.egg-info/dependency_links.txt +0 -0
  81. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules.egg-info/requires.txt +0 -0
  82. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/src/ripple_down_rules.egg-info/top_level.txt +0 -0
  83. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/datasets.py +0 -0
  84. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/correct_drawer_rdr_expert_answers_fit.json +0 -0
  85. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/grdr_expert_answers_classify.json +0 -0
  86. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/grdr_expert_answers_fit.json +0 -0
  87. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/grdr_expert_answers_fit_extra.json +0 -0
  88. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/grdr_expert_answers_fit_no_targets.json +0 -0
  89. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/mcrdr_expert_answers_classify.json +0 -0
  90. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/mcrdr_expert_answers_fit_no_targets.json +0 -0
  91. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/mcrdr_expert_answers_stop_only_fit.json +0 -0
  92. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/mcrdr_extra_expert_answers_classify.json +0 -0
  93. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/mcrdr_extra_expert_answers_fit.json +0 -0
  94. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/mcrdr_multi_line_expert_answers_fit.json +0 -0
  95. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/mcrdr_stop_only_answers_fit.json +0 -0
  96. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/mcrdr_stop_plus_rule_answers_fit.json +0 -0
  97. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/mcrdr_stop_plus_rule_combined_expert_answers_fit.json +0 -0
  98. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/mcrdr_stop_plus_rule_expert_answers_fit.json +0 -0
  99. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/mutagenic_expert_answers.json +0 -0
  100. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/relational_scrdr_expert_answers_classify.json +0 -0
  101. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/scrdr_expert_answers_classify.json +0 -0
  102. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/scrdr_expert_answers_fit.json +0 -0
  103. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/scrdr_expert_answers_fit_no_targets.json +0 -0
  104. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/scrdr_multi_line_expert_answers_fit.json +0 -0
  105. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/scrdr_world_expert_answers_fit.json +0 -0
  106. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_expert_answers/view_rdr_expert_answers_fit.json +0 -0
  107. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_generated_rdrs/__init__.py +0 -0
  108. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_helpers/__init__.py +0 -0
  109. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_helpers/helpers.py +0 -0
  110. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_helpers/object_diagram_case_query.png +0 -0
  111. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_helpers/object_diagram_person.png +0 -0
  112. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_json_serialization.py +0 -0
  113. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_object_diagram.py +0 -0
  114. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_on_mutagenic.py +0 -0
  115. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_rdr.py +0 -0
  116. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_rdr_alchemy.py +0 -0
  117. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_rdr_decorators.py +0 -0
  118. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_rdr_world.py +0 -0
  119. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_relational_rdr.py +0 -0
  120. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_relational_rdr_alchemy.py +0 -0
  121. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_results/datasets_physical_object_is_a_robot/__init__.py +0 -0
  122. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_results/datasets_physical_object_is_a_robot/physical_object_is_a_robot_output__scrdr.py +0 -0
  123. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_results/datasets_physical_object_is_a_robot/physical_object_is_a_robot_output__scrdr_defs.py +0 -0
  124. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_results/datasets_physical_object_is_a_robot/physical_object_is_a_robot_rdr.py +0 -0
  125. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_results/datasets_physical_object_is_a_robot/rdr_metadata/datasets_physical_object_is_a_robot.json +0 -0
  126. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/__init__.py +0 -0
  127. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/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 +0 -0
  128. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/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 -0
  129. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/physical_object_select_objects_that_are_parts_of_robot_rdr.py +0 -0
  130. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/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 -0
  131. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_sql_model.py +0 -0
  132. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_template_file_creator.py +0 -0
  133. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_user_interface/__init__.py +0 -0
  134. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_user_interface/test_ipython.py +0 -0
  135. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_user_interface/test_ipython_copilot.py +0 -0
  136. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_user_interface/test_qt_gui_inline.py +0 -0
  137. {ripple_down_rules-0.5.2 → ripple_down_rules-0.5.4}/test/test_utils.py +0 -0
@@ -16,6 +16,8 @@ on:
16
16
  jobs:
17
17
  deploy-book:
18
18
  runs-on: ubuntu-latest
19
+ environment:
20
+ name: github-pages
19
21
  permissions:
20
22
  pages: write
21
23
  id-token: write
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ripple_down_rules
3
- Version: 0.5.2
3
+ Version: 0.5.4
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
@@ -725,6 +725,10 @@ For GUI support, also install:
725
725
  sudo apt-get install libxcb-cursor-dev
726
726
  ```
727
727
 
728
+ ## Documentation
729
+
730
+ Read the documentation [here](https://abdelrhmanbassiouny.github.io/ripple_down_rules/).
731
+
728
732
  ## Example Usage
729
733
 
730
734
  ### Propositional Example
@@ -887,6 +891,6 @@ try that yourself and see if it works!
887
891
  author = {Bassiouny, Abdelrhman},
888
892
  title = {Ripple-Down-Rules},
889
893
  url = {https://github.com/AbdelrhmanBassiouny/ripple_down_rules},
890
- version = {0.5.2},
894
+ version = {0.5.4},
891
895
  }
892
896
  ```
@@ -21,6 +21,10 @@ For GUI support, also install:
21
21
  sudo apt-get install libxcb-cursor-dev
22
22
  ```
23
23
 
24
+ ## Documentation
25
+
26
+ Read the documentation [here](https://abdelrhmanbassiouny.github.io/ripple_down_rules/).
27
+
24
28
  ## Example Usage
25
29
 
26
30
  ### Propositional Example
@@ -183,6 +187,6 @@ try that yourself and see if it works!
183
187
  author = {Bassiouny, Abdelrhman},
184
188
  title = {Ripple-Down-Rules},
185
189
  url = {https://github.com/AbdelrhmanBassiouny/ripple_down_rules},
186
- version = {0.5.2},
190
+ version = {0.5.4},
187
191
  }
188
192
  ```
@@ -5,5 +5,4 @@ format: jb-book
5
5
  root: intro
6
6
  chapters:
7
7
  - file: bibliography
8
- - file: kinematic_world
9
8
  - file: autoapi/index
@@ -51,7 +51,7 @@ performance, so stay tuned for updates! and feel free to contribute, give feedba
51
51
  author = {Bassiouny, Abdelrhman},
52
52
  title = {Ripple-Down-Rules},
53
53
  url = {https://github.com/AbdelrhmanBassiouny/ripple_down_rules},
54
- version = {0.5.2},
54
+ version = {0.5.4},
55
55
  }
56
56
  ```
57
57
 
@@ -1,4 +1,4 @@
1
- __version__ = "0.5.2"
1
+ __version__ = "0.5.4"
2
2
 
3
3
  import logging
4
4
  logger = logging.Logger("rdr")
@@ -282,41 +282,3 @@ class Human(Expert):
282
282
  self.save_answers()
283
283
  case_query.target = expression
284
284
  return expression
285
-
286
-
287
- class File(Expert):
288
- """
289
- The File Expert class, an expert that reads the answers from a file.
290
- This is used for testing purposes.
291
- """
292
-
293
- def __init__(self, filename: str, **kwargs):
294
- """
295
- Initialize the File expert.
296
-
297
- :param filename: The path to the file containing the expert answers.
298
- """
299
- super().__init__(**kwargs)
300
- self.filename = filename
301
- self.load_answers(filename)
302
-
303
- def ask_for_conditions(self, case_query: CaseQuery,
304
- last_evaluated_rule: Optional[Rule] = None) -> CallableExpression:
305
- loaded_scope, user_input = self.all_expert_answers.pop(0)
306
- if user_input:
307
- condition = CallableExpression(user_input, bool, scope=case_query.scope)
308
- else:
309
- raise ValueError("No user input found in the expert answers file.")
310
- case_query.conditions = condition
311
- return condition
312
-
313
- def ask_for_conclusion(self, case_query: CaseQuery) -> Optional[CallableExpression]:
314
- loaded_scope, expert_input = self.all_expert_answers.pop(0)
315
- if expert_input is not None:
316
- expression = CallableExpression(expert_input, case_query.attribute_type,
317
- scope=case_query.scope,
318
- mutually_exclusive=case_query.mutually_exclusive)
319
- else:
320
- raise ValueError("No expert input found in the expert answers file.")
321
- case_query.target = expression
322
- return expression
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ripple_down_rules
3
- Version: 0.5.2
3
+ Version: 0.5.4
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
@@ -725,6 +725,10 @@ For GUI support, also install:
725
725
  sudo apt-get install libxcb-cursor-dev
726
726
  ```
727
727
 
728
+ ## Documentation
729
+
730
+ Read the documentation [here](https://abdelrhmanbassiouny.github.io/ripple_down_rules/).
731
+
728
732
  ## Example Usage
729
733
 
730
734
  ### Propositional Example
@@ -887,6 +891,6 @@ try that yourself and see if it works!
887
891
  author = {Bassiouny, Abdelrhman},
888
892
  title = {Ripple-Down-Rules},
889
893
  url = {https://github.com/AbdelrhmanBassiouny/ripple_down_rules},
890
- version = {0.5.2},
894
+ version = {0.5.4},
891
895
  }
892
896
  ```
@@ -55,7 +55,6 @@ results/relational_scrdr_classify.dot
55
55
  results/relational_scrdr_classify.png
56
56
  src/ripple_down_rules/__init__.py
57
57
  src/ripple_down_rules/experts.py
58
- src/ripple_down_rules/failures.py
59
58
  src/ripple_down_rules/helpers.py
60
59
  src/ripple_down_rules/rdr.py
61
60
  src/ripple_down_rules/rdr_decorators.py
@@ -1,10 +0,0 @@
1
-
2
-
3
- class InvalidOperator(Exception):
4
- def __init__(self, rule_str: str, valid_operators: list):
5
- self.rule_str = rule_str
6
- self.valid_operators = valid_operators
7
-
8
- def __str__(self):
9
- return f"Invalid operator in {self.rule_str}, valid operators are: {self.valid_operators}"
10
-