pyrunir 0.0.1__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 (327) hide show
  1. pyrunir-0.0.1/.clang-format +60 -0
  2. pyrunir-0.0.1/.github/workflows/ci_ctest.yml +69 -0
  3. pyrunir-0.0.1/.github/workflows/ci_pytest.yml +55 -0
  4. pyrunir-0.0.1/.github/workflows/ci_release.yml +92 -0
  5. pyrunir-0.0.1/.github/workflows/release.yml +148 -0
  6. pyrunir-0.0.1/.github/workflows/testpypi.yml +107 -0
  7. pyrunir-0.0.1/.gitignore +9 -0
  8. pyrunir-0.0.1/.gitmodules +3 -0
  9. pyrunir-0.0.1/CMakeLists.txt +127 -0
  10. pyrunir-0.0.1/Config.cmake.in +40 -0
  11. pyrunir-0.0.1/PKG-INFO +77 -0
  12. pyrunir-0.0.1/README.md +64 -0
  13. pyrunir-0.0.1/cmake/configure_pypddl.cmake +34 -0
  14. pyrunir-0.0.1/cmake/configure_tyr.cmake +34 -0
  15. pyrunir-0.0.1/cmake/configure_yggdrasil.cmake +34 -0
  16. pyrunir-0.0.1/cmake/patch_python_stubs.cmake +19 -0
  17. pyrunir-0.0.1/exe/CMakeLists.txt +3 -0
  18. pyrunir-0.0.1/exe/state_graph.cpp +93 -0
  19. pyrunir-0.0.1/include/runir/common/common.hpp +7 -0
  20. pyrunir-0.0.1/include/runir/common/config.hpp +17 -0
  21. pyrunir-0.0.1/include/runir/common/formatter.hpp +21 -0
  22. pyrunir-0.0.1/include/runir/datasets/config.hpp +38 -0
  23. pyrunir-0.0.1/include/runir/datasets/datasets.hpp +15 -0
  24. pyrunir-0.0.1/include/runir/datasets/equivalence_graph.hpp +101 -0
  25. pyrunir-0.0.1/include/runir/datasets/equivalence_policies/gi.hpp +66 -0
  26. pyrunir-0.0.1/include/runir/datasets/equivalence_policies/identity.hpp +57 -0
  27. pyrunir-0.0.1/include/runir/datasets/equivalence_policy.hpp +80 -0
  28. pyrunir-0.0.1/include/runir/datasets/formatter.hpp +96 -0
  29. pyrunir-0.0.1/include/runir/datasets/object_graph.hpp +70 -0
  30. pyrunir-0.0.1/include/runir/datasets/serialization.hpp +8 -0
  31. pyrunir-0.0.1/include/runir/datasets/state_graph.hpp +103 -0
  32. pyrunir-0.0.1/include/runir/datasets/task_class.hpp +86 -0
  33. pyrunir-0.0.1/include/runir/graphs/algorithms/color_refinement.hpp +192 -0
  34. pyrunir-0.0.1/include/runir/graphs/algorithms/nauty.hpp +159 -0
  35. pyrunir-0.0.1/include/runir/graphs/algorithms/weisfeiler_leman.hpp +233 -0
  36. pyrunir-0.0.1/include/runir/graphs/algorithms.hpp +79 -0
  37. pyrunir-0.0.1/include/runir/graphs/backward_static_graph_view.hpp +115 -0
  38. pyrunir-0.0.1/include/runir/graphs/bgl/algorithms.hpp +411 -0
  39. pyrunir-0.0.1/include/runir/graphs/bgl/graph_adapters.hpp +67 -0
  40. pyrunir-0.0.1/include/runir/graphs/bgl/graph_traits.hpp +61 -0
  41. pyrunir-0.0.1/include/runir/graphs/bgl/property_maps.hpp +170 -0
  42. pyrunir-0.0.1/include/runir/graphs/bidirectional_static_graph.hpp +36 -0
  43. pyrunir-0.0.1/include/runir/graphs/declarations.hpp +167 -0
  44. pyrunir-0.0.1/include/runir/graphs/dynamic_graph.hpp +263 -0
  45. pyrunir-0.0.1/include/runir/graphs/edge.hpp +53 -0
  46. pyrunir-0.0.1/include/runir/graphs/formatter.hpp +168 -0
  47. pyrunir-0.0.1/include/runir/graphs/graphs.hpp +21 -0
  48. pyrunir-0.0.1/include/runir/graphs/properties.hpp +55 -0
  49. pyrunir-0.0.1/include/runir/graphs/property_map.hpp +93 -0
  50. pyrunir-0.0.1/include/runir/graphs/static_graph.hpp +147 -0
  51. pyrunir-0.0.1/include/runir/graphs/static_graph_builder.hpp +212 -0
  52. pyrunir-0.0.1/include/runir/graphs/vertex.hpp +42 -0
  53. pyrunir-0.0.1/include/runir/kr/declarations.hpp +17 -0
  54. pyrunir-0.0.1/include/runir/kr/dl/boolean_index.hpp +21 -0
  55. pyrunir-0.0.1/include/runir/kr/dl/canonicalization.hpp +88 -0
  56. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/boolean_data.hpp +43 -0
  57. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/boolean_index.hpp +21 -0
  58. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/boolean_view.hpp +54 -0
  59. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/canonicalization.hpp +158 -0
  60. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/concept_data.hpp +133 -0
  61. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/concept_index.hpp +21 -0
  62. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/concept_view.hpp +76 -0
  63. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/constructor_data.hpp +134 -0
  64. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/constructor_index.hpp +21 -0
  65. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/constructor_repository.hpp +215 -0
  66. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/constructor_view.hpp +39 -0
  67. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/constructors.hpp +6 -0
  68. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/data_helpers.hpp +32 -0
  69. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/datas.hpp +15 -0
  70. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/declarations.hpp +37 -0
  71. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/derivation_rule_data.hpp +41 -0
  72. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/derivation_rule_index.hpp +21 -0
  73. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/derivation_rule_view.hpp +37 -0
  74. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/formatter.hpp +272 -0
  75. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/generate.hpp +77 -0
  76. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/grammar.hpp +15 -0
  77. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/grammar_data.hpp +174 -0
  78. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/grammar_index.hpp +21 -0
  79. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/grammar_view.hpp +77 -0
  80. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/indices.hpp +14 -0
  81. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/non_terminal_data.hpp +37 -0
  82. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/non_terminal_index.hpp +21 -0
  83. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/non_terminal_view.hpp +34 -0
  84. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/numerical_data.hpp +49 -0
  85. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/numerical_index.hpp +21 -0
  86. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/numerical_view.hpp +59 -0
  87. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/parser.hpp +6 -0
  88. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/role_data.hpp +133 -0
  89. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/role_index.hpp +21 -0
  90. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/role_view.hpp +69 -0
  91. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/sentence_pruning.hpp +0 -0
  92. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/substitution_rule_data.hpp +41 -0
  93. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/substitution_rule_index.hpp +21 -0
  94. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/substitution_rule_view.hpp +36 -0
  95. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/translate.hpp +14 -0
  96. pyrunir-0.0.1/include/runir/kr/dl/cnf_grammar/views.hpp +14 -0
  97. pyrunir-0.0.1/include/runir/kr/dl/concept_index.hpp +21 -0
  98. pyrunir-0.0.1/include/runir/kr/dl/constructor_index.hpp +21 -0
  99. pyrunir-0.0.1/include/runir/kr/dl/constructors.hpp +26 -0
  100. pyrunir-0.0.1/include/runir/kr/dl/declarations.hpp +251 -0
  101. pyrunir-0.0.1/include/runir/kr/dl/grammar/ast/ast.hpp +364 -0
  102. pyrunir-0.0.1/include/runir/kr/dl/grammar/ast/ast_adapted.hpp +47 -0
  103. pyrunir-0.0.1/include/runir/kr/dl/grammar/boolean_data.hpp +43 -0
  104. pyrunir-0.0.1/include/runir/kr/dl/grammar/boolean_index.hpp +21 -0
  105. pyrunir-0.0.1/include/runir/kr/dl/grammar/boolean_view.hpp +54 -0
  106. pyrunir-0.0.1/include/runir/kr/dl/grammar/canonicalization.hpp +153 -0
  107. pyrunir-0.0.1/include/runir/kr/dl/grammar/concept_data.hpp +133 -0
  108. pyrunir-0.0.1/include/runir/kr/dl/grammar/concept_index.hpp +21 -0
  109. pyrunir-0.0.1/include/runir/kr/dl/grammar/concept_view.hpp +76 -0
  110. pyrunir-0.0.1/include/runir/kr/dl/grammar/constructor_data.hpp +118 -0
  111. pyrunir-0.0.1/include/runir/kr/dl/grammar/constructor_index.hpp +21 -0
  112. pyrunir-0.0.1/include/runir/kr/dl/grammar/constructor_or_non_terminal_data.hpp +36 -0
  113. pyrunir-0.0.1/include/runir/kr/dl/grammar/constructor_or_non_terminal_index.hpp +21 -0
  114. pyrunir-0.0.1/include/runir/kr/dl/grammar/constructor_or_non_terminal_view.hpp +35 -0
  115. pyrunir-0.0.1/include/runir/kr/dl/grammar/constructor_repository.hpp +216 -0
  116. pyrunir-0.0.1/include/runir/kr/dl/grammar/constructor_view.hpp +39 -0
  117. pyrunir-0.0.1/include/runir/kr/dl/grammar/constructors.hpp +6 -0
  118. pyrunir-0.0.1/include/runir/kr/dl/grammar/data_helpers.hpp +32 -0
  119. pyrunir-0.0.1/include/runir/kr/dl/grammar/datas.hpp +15 -0
  120. pyrunir-0.0.1/include/runir/kr/dl/grammar/declarations.hpp +37 -0
  121. pyrunir-0.0.1/include/runir/kr/dl/grammar/derivation_rule_data.hpp +41 -0
  122. pyrunir-0.0.1/include/runir/kr/dl/grammar/derivation_rule_index.hpp +21 -0
  123. pyrunir-0.0.1/include/runir/kr/dl/grammar/derivation_rule_view.hpp +38 -0
  124. pyrunir-0.0.1/include/runir/kr/dl/grammar/formatter.hpp +267 -0
  125. pyrunir-0.0.1/include/runir/kr/dl/grammar/grammar.hpp +15 -0
  126. pyrunir-0.0.1/include/runir/kr/dl/grammar/grammar_data.hpp +101 -0
  127. pyrunir-0.0.1/include/runir/kr/dl/grammar/grammar_factory.hpp +31 -0
  128. pyrunir-0.0.1/include/runir/kr/dl/grammar/grammar_index.hpp +21 -0
  129. pyrunir-0.0.1/include/runir/kr/dl/grammar/grammar_view.hpp +64 -0
  130. pyrunir-0.0.1/include/runir/kr/dl/grammar/indices.hpp +14 -0
  131. pyrunir-0.0.1/include/runir/kr/dl/grammar/non_terminal_data.hpp +37 -0
  132. pyrunir-0.0.1/include/runir/kr/dl/grammar/non_terminal_index.hpp +21 -0
  133. pyrunir-0.0.1/include/runir/kr/dl/grammar/non_terminal_view.hpp +34 -0
  134. pyrunir-0.0.1/include/runir/kr/dl/grammar/numerical_data.hpp +49 -0
  135. pyrunir-0.0.1/include/runir/kr/dl/grammar/numerical_index.hpp +21 -0
  136. pyrunir-0.0.1/include/runir/kr/dl/grammar/numerical_view.hpp +59 -0
  137. pyrunir-0.0.1/include/runir/kr/dl/grammar/parser/error_handler.hpp +41 -0
  138. pyrunir-0.0.1/include/runir/kr/dl/grammar/parser/parser.hpp +15 -0
  139. pyrunir-0.0.1/include/runir/kr/dl/grammar/parser/parsers.hpp +247 -0
  140. pyrunir-0.0.1/include/runir/kr/dl/grammar/parser.hpp +17 -0
  141. pyrunir-0.0.1/include/runir/kr/dl/grammar/role_data.hpp +133 -0
  142. pyrunir-0.0.1/include/runir/kr/dl/grammar/role_index.hpp +21 -0
  143. pyrunir-0.0.1/include/runir/kr/dl/grammar/role_view.hpp +69 -0
  144. pyrunir-0.0.1/include/runir/kr/dl/grammar/views.hpp +14 -0
  145. pyrunir-0.0.1/include/runir/kr/dl/indices.hpp +10 -0
  146. pyrunir-0.0.1/include/runir/kr/dl/numerical_index.hpp +21 -0
  147. pyrunir-0.0.1/include/runir/kr/dl/repository.hpp +180 -0
  148. pyrunir-0.0.1/include/runir/kr/dl/role_index.hpp +21 -0
  149. pyrunir-0.0.1/include/runir/kr/dl/semantics/boolean_data.hpp +47 -0
  150. pyrunir-0.0.1/include/runir/kr/dl/semantics/boolean_view.hpp +54 -0
  151. pyrunir-0.0.1/include/runir/kr/dl/semantics/builder.hpp +63 -0
  152. pyrunir-0.0.1/include/runir/kr/dl/semantics/canonicalization.hpp +56 -0
  153. pyrunir-0.0.1/include/runir/kr/dl/semantics/concept_data.hpp +130 -0
  154. pyrunir-0.0.1/include/runir/kr/dl/semantics/concept_view.hpp +76 -0
  155. pyrunir-0.0.1/include/runir/kr/dl/semantics/constructor_data.hpp +134 -0
  156. pyrunir-0.0.1/include/runir/kr/dl/semantics/constructor_view.hpp +39 -0
  157. pyrunir-0.0.1/include/runir/kr/dl/semantics/constructors.hpp +6 -0
  158. pyrunir-0.0.1/include/runir/kr/dl/semantics/data_helpers.hpp +135 -0
  159. pyrunir-0.0.1/include/runir/kr/dl/semantics/datas.hpp +12 -0
  160. pyrunir-0.0.1/include/runir/kr/dl/semantics/declarations.hpp +19 -0
  161. pyrunir-0.0.1/include/runir/kr/dl/semantics/denotation_builder.hpp +155 -0
  162. pyrunir-0.0.1/include/runir/kr/dl/semantics/denotation_data.hpp +107 -0
  163. pyrunir-0.0.1/include/runir/kr/dl/semantics/denotation_index.hpp +48 -0
  164. pyrunir-0.0.1/include/runir/kr/dl/semantics/denotation_repository.hpp +252 -0
  165. pyrunir-0.0.1/include/runir/kr/dl/semantics/denotation_view.hpp +191 -0
  166. pyrunir-0.0.1/include/runir/kr/dl/semantics/denotations.hpp +11 -0
  167. pyrunir-0.0.1/include/runir/kr/dl/semantics/evaluation.hpp +643 -0
  168. pyrunir-0.0.1/include/runir/kr/dl/semantics/evaluation_context.hpp +44 -0
  169. pyrunir-0.0.1/include/runir/kr/dl/semantics/evaluation_workspace.hpp +34 -0
  170. pyrunir-0.0.1/include/runir/kr/dl/semantics/formatter.hpp +250 -0
  171. pyrunir-0.0.1/include/runir/kr/dl/semantics/numerical_data.hpp +53 -0
  172. pyrunir-0.0.1/include/runir/kr/dl/semantics/numerical_view.hpp +59 -0
  173. pyrunir-0.0.1/include/runir/kr/dl/semantics/role_data.hpp +126 -0
  174. pyrunir-0.0.1/include/runir/kr/dl/semantics/role_view.hpp +69 -0
  175. pyrunir-0.0.1/include/runir/kr/dl/semantics/views.hpp +11 -0
  176. pyrunir-0.0.1/include/runir/kr/dl.hpp +19 -0
  177. pyrunir-0.0.1/include/runir/kr/gp/canonicalization.hpp +106 -0
  178. pyrunir-0.0.1/include/runir/kr/gp/condition.hpp +9 -0
  179. pyrunir-0.0.1/include/runir/kr/gp/condition_compatibility.hpp +34 -0
  180. pyrunir-0.0.1/include/runir/kr/gp/condition_data.hpp +64 -0
  181. pyrunir-0.0.1/include/runir/kr/gp/condition_index.hpp +36 -0
  182. pyrunir-0.0.1/include/runir/kr/gp/condition_view.hpp +69 -0
  183. pyrunir-0.0.1/include/runir/kr/gp/declarations.hpp +66 -0
  184. pyrunir-0.0.1/include/runir/kr/gp/dl/ast/ast.hpp +76 -0
  185. pyrunir-0.0.1/include/runir/kr/gp/dl/ast/ast_adapted.hpp +16 -0
  186. pyrunir-0.0.1/include/runir/kr/gp/dl/condition.hpp +7 -0
  187. pyrunir-0.0.1/include/runir/kr/gp/dl/condition_data.hpp +36 -0
  188. pyrunir-0.0.1/include/runir/kr/gp/dl/condition_view.hpp +57 -0
  189. pyrunir-0.0.1/include/runir/kr/gp/dl/declarations.hpp +47 -0
  190. pyrunir-0.0.1/include/runir/kr/gp/dl/effect.hpp +7 -0
  191. pyrunir-0.0.1/include/runir/kr/gp/dl/effect_data.hpp +36 -0
  192. pyrunir-0.0.1/include/runir/kr/gp/dl/effect_view.hpp +63 -0
  193. pyrunir-0.0.1/include/runir/kr/gp/dl/evaluation_context.hpp +40 -0
  194. pyrunir-0.0.1/include/runir/kr/gp/dl/feature.hpp +9 -0
  195. pyrunir-0.0.1/include/runir/kr/gp/dl/feature_data.hpp +91 -0
  196. pyrunir-0.0.1/include/runir/kr/gp/dl/feature_index.hpp +21 -0
  197. pyrunir-0.0.1/include/runir/kr/gp/dl/feature_view.hpp +45 -0
  198. pyrunir-0.0.1/include/runir/kr/gp/dl/parser/error_handler.hpp +41 -0
  199. pyrunir-0.0.1/include/runir/kr/gp/dl/parser/parser.hpp +15 -0
  200. pyrunir-0.0.1/include/runir/kr/gp/dl/parser/parsers.hpp +99 -0
  201. pyrunir-0.0.1/include/runir/kr/gp/dl/parser.hpp +17 -0
  202. pyrunir-0.0.1/include/runir/kr/gp/dl/policy_factory.hpp +40 -0
  203. pyrunir-0.0.1/include/runir/kr/gp/effect.hpp +9 -0
  204. pyrunir-0.0.1/include/runir/kr/gp/effect_compatibility.hpp +34 -0
  205. pyrunir-0.0.1/include/runir/kr/gp/effect_data.hpp +66 -0
  206. pyrunir-0.0.1/include/runir/kr/gp/effect_index.hpp +36 -0
  207. pyrunir-0.0.1/include/runir/kr/gp/effect_view.hpp +69 -0
  208. pyrunir-0.0.1/include/runir/kr/gp/feature.hpp +9 -0
  209. pyrunir-0.0.1/include/runir/kr/gp/feature_data.hpp +60 -0
  210. pyrunir-0.0.1/include/runir/kr/gp/feature_index.hpp +21 -0
  211. pyrunir-0.0.1/include/runir/kr/gp/feature_view.hpp +49 -0
  212. pyrunir-0.0.1/include/runir/kr/gp/policy.hpp +9 -0
  213. pyrunir-0.0.1/include/runir/kr/gp/policy_compatibility.hpp +20 -0
  214. pyrunir-0.0.1/include/runir/kr/gp/policy_data.hpp +32 -0
  215. pyrunir-0.0.1/include/runir/kr/gp/policy_executor.hpp +43 -0
  216. pyrunir-0.0.1/include/runir/kr/gp/policy_index.hpp +21 -0
  217. pyrunir-0.0.1/include/runir/kr/gp/policy_view.hpp +45 -0
  218. pyrunir-0.0.1/include/runir/kr/gp/repository.hpp +149 -0
  219. pyrunir-0.0.1/include/runir/kr/gp/rule.hpp +9 -0
  220. pyrunir-0.0.1/include/runir/kr/gp/rule_compatibility.hpp +20 -0
  221. pyrunir-0.0.1/include/runir/kr/gp/rule_data.hpp +36 -0
  222. pyrunir-0.0.1/include/runir/kr/gp/rule_index.hpp +21 -0
  223. pyrunir-0.0.1/include/runir/kr/gp/rule_view.hpp +50 -0
  224. pyrunir-0.0.1/include/runir/kr/gp.hpp +48 -0
  225. pyrunir-0.0.1/include/runir/runir.hpp +11 -0
  226. pyrunir-0.0.1/pyproject.toml +70 -0
  227. pyrunir-0.0.1/python/__pycache__/pyrunir_build_backend.cpython-311.pyc +0 -0
  228. pyrunir-0.0.1/python/pyrunir_build_backend.py +207 -0
  229. pyrunir-0.0.1/python/src/CMakeLists.txt +211 -0
  230. pyrunir-0.0.1/python/src/module.cpp +15 -0
  231. pyrunir-0.0.1/python/src/pyrunir/__init__.py +19 -0
  232. pyrunir-0.0.1/python/src/pyrunir/__init__.pyi +11 -0
  233. pyrunir-0.0.1/python/src/pyrunir/datasets/__init__.py +48 -0
  234. pyrunir-0.0.1/python/src/pyrunir/datasets/config.cpp +19 -0
  235. pyrunir-0.0.1/python/src/pyrunir/datasets/equivalence_graph.cpp +80 -0
  236. pyrunir-0.0.1/python/src/pyrunir/datasets/module.cpp +14 -0
  237. pyrunir-0.0.1/python/src/pyrunir/datasets/module.hpp +19 -0
  238. pyrunir-0.0.1/python/src/pyrunir/datasets/state_graph.cpp +108 -0
  239. pyrunir-0.0.1/python/src/pyrunir/datasets/task_class.cpp +50 -0
  240. pyrunir-0.0.1/python/src/pyrunir/graphs/__init__.py +28 -0
  241. pyrunir-0.0.1/python/src/pyrunir/graphs/graph.hpp +331 -0
  242. pyrunir-0.0.1/python/src/pyrunir/graphs/module.cpp +58 -0
  243. pyrunir-0.0.1/python/src/pyrunir/graphs/module.hpp +15 -0
  244. pyrunir-0.0.1/python/src/pyrunir/kr/__init__.py +6 -0
  245. pyrunir-0.0.1/python/src/pyrunir/kr/dl/__init__.py +137 -0
  246. pyrunir-0.0.1/python/src/pyrunir/kr/dl/cnf_grammar/__init__.py +140 -0
  247. pyrunir-0.0.1/python/src/pyrunir/kr/dl/cnf_grammar/constructor_repository.cpp +26 -0
  248. pyrunir-0.0.1/python/src/pyrunir/kr/dl/cnf_grammar/datas.cpp +86 -0
  249. pyrunir-0.0.1/python/src/pyrunir/kr/dl/cnf_grammar/generate.cpp +69 -0
  250. pyrunir-0.0.1/python/src/pyrunir/kr/dl/cnf_grammar/grammar.cpp +21 -0
  251. pyrunir-0.0.1/python/src/pyrunir/kr/dl/cnf_grammar/indices.cpp +55 -0
  252. pyrunir-0.0.1/python/src/pyrunir/kr/dl/cnf_grammar/module.cpp +17 -0
  253. pyrunir-0.0.1/python/src/pyrunir/kr/dl/cnf_grammar/module.hpp +20 -0
  254. pyrunir-0.0.1/python/src/pyrunir/kr/dl/cnf_grammar/translate.cpp +13 -0
  255. pyrunir-0.0.1/python/src/pyrunir/kr/dl/cnf_grammar/views.cpp +130 -0
  256. pyrunir-0.0.1/python/src/pyrunir/kr/dl/grammar/__init__.py +136 -0
  257. pyrunir-0.0.1/python/src/pyrunir/kr/dl/grammar/constructor_repository.cpp +25 -0
  258. pyrunir-0.0.1/python/src/pyrunir/kr/dl/grammar/datas.cpp +86 -0
  259. pyrunir-0.0.1/python/src/pyrunir/kr/dl/grammar/grammar.cpp +21 -0
  260. pyrunir-0.0.1/python/src/pyrunir/kr/dl/grammar/grammar_factory.cpp +32 -0
  261. pyrunir-0.0.1/python/src/pyrunir/kr/dl/grammar/indices.cpp +55 -0
  262. pyrunir-0.0.1/python/src/pyrunir/kr/dl/grammar/module.cpp +17 -0
  263. pyrunir-0.0.1/python/src/pyrunir/kr/dl/grammar/module.hpp +20 -0
  264. pyrunir-0.0.1/python/src/pyrunir/kr/dl/grammar/parser.cpp +14 -0
  265. pyrunir-0.0.1/python/src/pyrunir/kr/dl/grammar/views.cpp +117 -0
  266. pyrunir-0.0.1/python/src/pyrunir/kr/dl/module.cpp +22 -0
  267. pyrunir-0.0.1/python/src/pyrunir/kr/dl/module.hpp +15 -0
  268. pyrunir-0.0.1/python/src/pyrunir/kr/dl/semantics/__init__.py +132 -0
  269. pyrunir-0.0.1/python/src/pyrunir/kr/dl/semantics/datas.cpp +90 -0
  270. pyrunir-0.0.1/python/src/pyrunir/kr/dl/semantics/indices.cpp +62 -0
  271. pyrunir-0.0.1/python/src/pyrunir/kr/dl/semantics/module.cpp +14 -0
  272. pyrunir-0.0.1/python/src/pyrunir/kr/dl/semantics/module.hpp +17 -0
  273. pyrunir-0.0.1/python/src/pyrunir/kr/dl/semantics/repositories.cpp +25 -0
  274. pyrunir-0.0.1/python/src/pyrunir/kr/dl/semantics/views.cpp +93 -0
  275. pyrunir-0.0.1/python/src/pyrunir/kr/gp/__init__.py +16 -0
  276. pyrunir-0.0.1/python/src/pyrunir/kr/gp/dl/__init__.py +39 -0
  277. pyrunir-0.0.1/python/src/pyrunir/kr/gp/dl/indices.cpp +31 -0
  278. pyrunir-0.0.1/python/src/pyrunir/kr/gp/dl/module.cpp +14 -0
  279. pyrunir-0.0.1/python/src/pyrunir/kr/gp/dl/module.hpp +19 -0
  280. pyrunir-0.0.1/python/src/pyrunir/kr/gp/dl/parser.cpp +21 -0
  281. pyrunir-0.0.1/python/src/pyrunir/kr/gp/dl/policy_factory.cpp +62 -0
  282. pyrunir-0.0.1/python/src/pyrunir/kr/gp/dl/views.cpp +57 -0
  283. pyrunir-0.0.1/python/src/pyrunir/kr/gp/indices.cpp +17 -0
  284. pyrunir-0.0.1/python/src/pyrunir/kr/gp/module.cpp +18 -0
  285. pyrunir-0.0.1/python/src/pyrunir/kr/gp/module.hpp +18 -0
  286. pyrunir-0.0.1/python/src/pyrunir/kr/gp/repository.cpp +23 -0
  287. pyrunir-0.0.1/python/src/pyrunir/kr/gp/views.cpp +49 -0
  288. pyrunir-0.0.1/python/src/pyrunir/kr/module.cpp +18 -0
  289. pyrunir-0.0.1/python/src/pyrunir/kr/module.hpp +15 -0
  290. pyrunir-0.0.1/python/src/pyrunir/module.cpp +22 -0
  291. pyrunir-0.0.1/python/src/pyrunir/module.hpp +15 -0
  292. pyrunir-0.0.1/python/tests/downstream/minimal_downstream_package/CMakeLists.txt +32 -0
  293. pyrunir-0.0.1/python/tests/downstream/minimal_downstream_package/src/downstream_runir_user.cpp +25 -0
  294. pyrunir-0.0.1/python/tests/downstream/test_downstream_python_import.py +73 -0
  295. pyrunir-0.0.1/python/tests/graphs/test_graphs.py +187 -0
  296. pyrunir-0.0.1/python/tests/kr/dl/test_grammar_factory.py +86 -0
  297. pyrunir-0.0.1/python/tests/test_import.py +17 -0
  298. pyrunir-0.0.1/src/CMakeLists.txt +43 -0
  299. pyrunir-0.0.1/src/datasets/CMakeLists.txt +46 -0
  300. pyrunir-0.0.1/src/datasets/equivalence_graph.cpp +306 -0
  301. pyrunir-0.0.1/src/datasets/object_graph.cpp +170 -0
  302. pyrunir-0.0.1/src/datasets/state_graph.cpp +271 -0
  303. pyrunir-0.0.1/src/graphs/CMakeLists.txt +52 -0
  304. pyrunir-0.0.1/src/graphs/algorithms/nauty.cpp +102 -0
  305. pyrunir-0.0.1/src/graphs/algorithms/nauty_impl.cpp +201 -0
  306. pyrunir-0.0.1/src/graphs/algorithms/nauty_impl.hpp +67 -0
  307. pyrunir-0.0.1/src/kr/CMakeLists.txt +53 -0
  308. pyrunir-0.0.1/src/kr/dl/cnf_grammar/generate.cpp +787 -0
  309. pyrunir-0.0.1/src/kr/dl/cnf_grammar/translate.cpp +421 -0
  310. pyrunir-0.0.1/src/kr/dl/grammar/grammar_factory.cpp +340 -0
  311. pyrunir-0.0.1/src/kr/dl/grammar/parser/parser.cpp +39 -0
  312. pyrunir-0.0.1/src/kr/dl/grammar/parser/parser_def.hpp +521 -0
  313. pyrunir-0.0.1/src/kr/dl/grammar/parser/parser_instantiations.cpp +65 -0
  314. pyrunir-0.0.1/src/kr/dl/grammar/parser.cpp +425 -0
  315. pyrunir-0.0.1/src/kr/gp/dl/parser/parser.cpp +39 -0
  316. pyrunir-0.0.1/src/kr/gp/dl/parser/parser_def.hpp +174 -0
  317. pyrunir-0.0.1/src/kr/gp/dl/parser/parser_instantiations.cpp +29 -0
  318. pyrunir-0.0.1/src/kr/gp/dl/parser.cpp +621 -0
  319. pyrunir-0.0.1/src/kr/gp/dl/policy_factory.cpp +175 -0
  320. pyrunir-0.0.1/src/kr/gp/policy_executor.cpp +182 -0
  321. pyrunir-0.0.1/tests/CMakeLists.txt +23 -0
  322. pyrunir-0.0.1/tests/unit/datasets/equivalence_graph.cpp +107 -0
  323. pyrunir-0.0.1/tests/unit/datasets/equivalence_graph.json +25 -0
  324. pyrunir-0.0.1/tests/unit/graphs/algorithms/color_refinement.cpp +65 -0
  325. pyrunir-0.0.1/tests/unit/kr/gp/dl/policy_executor.cpp +78 -0
  326. pyrunir-0.0.1/tests/unit/kr/grammar/grammar_factory.cpp +296 -0
  327. pyrunir-0.0.1/tests/unit/main.cpp +7 -0
@@ -0,0 +1,60 @@
1
+ ---
2
+ AccessModifierOffset: -4
3
+ AlignAfterOpenBracket: Align
4
+ AlignEscapedNewlines: Left
5
+ AlignOperands: 'true'
6
+ AlignTrailingComments: 'true'
7
+ AllowAllArgumentsOnNextLine: 'false'
8
+ AllowAllConstructorInitializersOnNextLine: 'false'
9
+ AllowAllParametersOfDeclarationOnNextLine: 'false'
10
+ AllowShortBlocksOnASingleLine: 'true'
11
+ AllowShortCaseLabelsOnASingleLine: 'false'
12
+ AllowShortFunctionsOnASingleLine: All
13
+ AllowShortIfStatementsOnASingleLine: Never
14
+ AllowShortLambdasOnASingleLine: All
15
+ AllowShortLoopsOnASingleLine: 'false'
16
+ AlwaysBreakTemplateDeclarations: 'Yes'
17
+ BinPackArguments: 'false'
18
+ BinPackParameters: 'false'
19
+ BreakBeforeBinaryOperators: NonAssignment
20
+ BreakBeforeBraces: Allman
21
+ BreakBeforeTernaryOperators: 'false'
22
+ BreakConstructorInitializers: AfterColon
23
+ BreakInheritanceList: AfterColon
24
+ ColumnLimit: '160'
25
+ CompactNamespaces: 'false'
26
+ ConstructorInitializerAllOnOneLineOrOnePerLine: 'true'
27
+ Cpp11BracedListStyle: 'false'
28
+ FixNamespaceComments: 'false'
29
+ IncludeBlocks: Regroup
30
+ IndentAccessModifiers: 'false'
31
+ IndentCaseLabels: 'true'
32
+ IndentPPDirectives: None
33
+ IndentWidth: '4'
34
+ IndentWrappedFunctionNames: 'false'
35
+ KeepEmptyLinesAtTheStartOfBlocks: 'false'
36
+ Language: Cpp
37
+ MaxEmptyLinesToKeep: '1'
38
+ NamespaceIndentation: None
39
+ PointerAlignment: Left
40
+ SortIncludes: 'true'
41
+ SortUsingDeclarations: 'true'
42
+ SpaceAfterCStyleCast: 'true'
43
+ SpaceAfterLogicalNot: 'false'
44
+ SpaceAfterTemplateKeyword: 'false'
45
+ SpaceBeforeAssignmentOperators: 'true'
46
+ SpaceBeforeCpp11BracedList: 'true'
47
+ SpaceBeforeCtorInitializerColon: 'true'
48
+ SpaceBeforeInheritanceColon: 'true'
49
+ SpaceBeforeParens: ControlStatements
50
+ SpaceBeforeRangeBasedForLoopColon: 'true'
51
+ SpaceInEmptyParentheses: 'false'
52
+ SpacesBeforeTrailingComments: '2'
53
+ SpacesInAngles: 'false'
54
+ SpacesInCStyleCastParentheses: 'false'
55
+ SpacesInParentheses: 'false'
56
+ SpacesInSquareBrackets: 'false'
57
+ Standard: Cpp11
58
+ TabWidth: '4'
59
+ UseTab: Never
60
+ ...
@@ -0,0 +1,69 @@
1
+ name: CI Ctest
2
+
3
+ on:
4
+ push:
5
+ branches-ignore:
6
+ - test-pypi
7
+ pull_request:
8
+
9
+ jobs:
10
+ build-and-test:
11
+ runs-on: ${{ matrix.os }}
12
+ strategy:
13
+ fail-fast: false
14
+ matrix:
15
+ include:
16
+ - os: ubuntu-latest
17
+ build_type: Debug
18
+ - os: macos-latest
19
+ build_type: Release
20
+
21
+ steps:
22
+ - name: Checkout Runir
23
+ uses: actions/checkout@v4
24
+ with:
25
+ submodules: true
26
+
27
+ - name: Setup Python
28
+ uses: actions/setup-python@v5
29
+ with:
30
+ python-version: "3.10"
31
+
32
+ - name: Install python requirements
33
+ run: |
34
+ python -m pip install --no-cache-dir --upgrade pip
35
+ python -m pip install --no-cache-dir typing_extensions 'pyyggdrasil>=0.0.8' 'pypddl>=1.0.5' 'pytyr>=0.0.17'
36
+ env:
37
+ PIP_NO_CACHE_DIR: 1
38
+ PYYGGDRASIL_JOBS: 2
39
+ PYPDDL_JOBS: 2
40
+ TYR_JOBS: 2
41
+
42
+ - name: Install CMake on Linux
43
+ if: runner.os == 'Linux'
44
+ run: |
45
+ sudo apt-get update
46
+ sudo apt-get install -y cmake
47
+
48
+ - name: Configure and Build Runir
49
+ run: |
50
+ cmake -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
51
+ -DRUNIR_BUILD_TESTS=ON \
52
+ -DRUNIR_BUILD_SHARED=ON \
53
+ -DRUNIR_LINK_STATIC_DEPENDENCIES=OFF \
54
+ -DCMAKE_INSTALL_LIBDIR=lib \
55
+ -DPython_EXECUTABLE="$(python -c 'import sys; print(sys.executable)')" \
56
+ -DPython3_EXECUTABLE="$(python -c 'import sys; print(sys.executable)')" \
57
+ -S . -B build_${{ matrix.build_type }} \
58
+ -DCMAKE_PREFIX_PATH="$(python -c 'import pypddl, pyyggdrasil, pytyr; print(f"{pypddl.native_prefix()};{pyyggdrasil.native_prefix()};{pytyr.native_prefix()}")')"
59
+ cmake --build build_${{ matrix.build_type }} -j2
60
+
61
+ - name: Run Tests
62
+ working-directory: build_${{ matrix.build_type }}/tests
63
+ run: |
64
+ PYPDDL_LIB_DIR="$(python -c 'import pypddl; print(pypddl.native_prefix() / "lib")')"
65
+ PYTYR_LIB_DIR="$(python -c 'import pytyr; print(pytyr.native_prefix() / "lib")')"
66
+ PYYGGDRASIL_LIB_DIR="$(python -c 'import pyyggdrasil; print(pyyggdrasil.native_prefix() / "lib")')"
67
+ export DYLD_LIBRARY_PATH="${PYPDDL_LIB_DIR}:${PYTYR_LIB_DIR}:${PYYGGDRASIL_LIB_DIR}:$PWD/../src/graphs:$PWD/../src/datasets:$PWD/../src/kr:${DYLD_LIBRARY_PATH:-}"
68
+ export LD_LIBRARY_PATH="${PYPDDL_LIB_DIR}:${PYTYR_LIB_DIR}:${PYYGGDRASIL_LIB_DIR}:$PWD/../src/graphs:$PWD/../src/datasets:$PWD/../src/kr:${LD_LIBRARY_PATH:-}"
69
+ GTEST_OUTPUT=xml:test-results/ GTEST_COLOR=1 ctest -V
@@ -0,0 +1,55 @@
1
+ name: CI Pytest
2
+
3
+ on:
4
+ push:
5
+ branches-ignore:
6
+ - test-pypi
7
+ pull_request:
8
+
9
+ jobs:
10
+ build-and-test:
11
+ runs-on: ${{ matrix.os }}
12
+ strategy:
13
+ fail-fast: false
14
+ matrix:
15
+ os: [ubuntu-latest, macos-latest]
16
+ python-version: ["3.13"]
17
+
18
+ steps:
19
+ - name: Checkout repository
20
+ uses: actions/checkout@v4
21
+ with:
22
+ submodules: true
23
+
24
+ - name: Setup Python
25
+ uses: actions/setup-python@v5
26
+ with:
27
+ python-version: ${{ matrix.python-version }}
28
+
29
+ - name: Install CMake on Linux
30
+ if: runner.os == 'Linux'
31
+ run: |
32
+ sudo apt-get update
33
+ sudo apt-get install -y cmake
34
+
35
+ - name: Install dependencies and requirements
36
+ run: |
37
+ python -m pip install --no-cache-dir --upgrade pip
38
+ python -m pip install --no-cache-dir setuptools pytest 'pyyggdrasil>=0.0.8' 'pypddl>=1.0.5' 'pytyr>=0.0.17'
39
+ env:
40
+ PIP_NO_CACHE_DIR: 1
41
+ PYYGGDRASIL_JOBS: 2
42
+ PYPDDL_JOBS: 2
43
+ TYR_JOBS: 2
44
+
45
+ - name: Build and install
46
+ run: python -m pip install --no-cache-dir --verbose .[test]
47
+ env:
48
+ PIP_NO_CACHE_DIR: 1
49
+ RUNIR_JOBS: 2
50
+ TYR_JOBS: 2
51
+ PYYGGDRASIL_JOBS: 2
52
+ PYPDDL_JOBS: 2
53
+
54
+ - name: Test
55
+ run: pytest python/tests
@@ -0,0 +1,92 @@
1
+ name: CI Release
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ - dev
8
+ pull_request:
9
+ workflow_dispatch:
10
+
11
+ jobs:
12
+ build_sdist:
13
+ runs-on: ubuntu-latest
14
+
15
+ steps:
16
+ - name: Checkout repository
17
+ uses: actions/checkout@v4
18
+
19
+ - name: Set up Python
20
+ uses: actions/setup-python@v5
21
+ with:
22
+ python-version: "3.11"
23
+
24
+ - name: Install build frontend
25
+ run: |
26
+ python -m pip install --no-cache-dir --upgrade pip
27
+ python -m pip install --no-cache-dir build
28
+
29
+ - name: Build source distribution
30
+ run: python -m build --sdist
31
+
32
+ build_wheels_linux:
33
+ runs-on: ubuntu-latest
34
+ strategy:
35
+ fail-fast: false
36
+ matrix:
37
+ architecture: ["x86_64"]
38
+ python-version: ["cp39", "cp310", "cp311", "cp312", "cp313"]
39
+
40
+ steps:
41
+ - name: Checkout repository
42
+ uses: actions/checkout@v4
43
+
44
+ - name: Set up Python
45
+ uses: actions/setup-python@v5
46
+ with:
47
+ python-version: "3.11"
48
+
49
+ - name: Install cibuildwheel
50
+ run: |
51
+ python -m pip install --no-cache-dir --upgrade pip
52
+ python -m pip install --no-cache-dir cibuildwheel
53
+
54
+ - name: Build Linux wheels
55
+ run: cibuildwheel --output-dir wheelhouse
56
+ env:
57
+ CIBW_PLATFORM: linux
58
+ CIBW_BUILD: "${{ matrix.python-version }}-*"
59
+ CIBW_SKIP: "*-musllinux_*"
60
+ CIBW_ARCHS: "${{ matrix.architecture }}"
61
+ CIBW_BUILD_VERBOSITY: "1"
62
+ CIBW_ENVIRONMENT: "RUNIR_JOBS=2 TYR_JOBS=2 PYPDDL_JOBS=2 PYYGGDRASIL_JOBS=2 PIP_NO_CACHE_DIR=1"
63
+
64
+ build_wheels_macos:
65
+ runs-on: macos-latest
66
+ strategy:
67
+ fail-fast: false
68
+ matrix:
69
+ python-version: ["cp39", "cp310", "cp311", "cp312", "cp313"]
70
+
71
+ steps:
72
+ - name: Checkout repository
73
+ uses: actions/checkout@v4
74
+
75
+ - name: Set up Python
76
+ uses: actions/setup-python@v5
77
+ with:
78
+ python-version: "3.11"
79
+
80
+ - name: Install cibuildwheel
81
+ run: |
82
+ python -m pip install --no-cache-dir --upgrade pip
83
+ python -m pip install --no-cache-dir cibuildwheel
84
+
85
+ - name: Build macOS wheels
86
+ run: cibuildwheel --output-dir wheelhouse
87
+ env:
88
+ CIBW_PLATFORM: macos
89
+ CIBW_BUILD: "${{ matrix.python-version }}-*"
90
+ CIBW_ARCHS: arm64
91
+ CIBW_BUILD_VERBOSITY: "1"
92
+ CIBW_ENVIRONMENT: "RUNIR_JOBS=2 TYR_JOBS=2 PYPDDL_JOBS=2 PYYGGDRASIL_JOBS=2 PIP_NO_CACHE_DIR=1"
@@ -0,0 +1,148 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+
8
+ jobs:
9
+ build_sdist:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - name: Checkout repository
14
+ uses: actions/checkout@v4
15
+
16
+ - name: Set up Python
17
+ uses: actions/setup-python@v5
18
+ with:
19
+ python-version: "3.11"
20
+
21
+ - name: Install build frontend
22
+ run: |
23
+ python -m pip install --no-cache-dir --upgrade pip
24
+ python -m pip install --no-cache-dir build
25
+
26
+ - name: Build source distribution
27
+ run: python -m build --sdist
28
+
29
+ - name: Upload sdist artifact
30
+ uses: actions/upload-artifact@v4
31
+ with:
32
+ name: sdist
33
+ path: dist/*.tar.gz
34
+
35
+ build_wheels_linux:
36
+ runs-on: ubuntu-latest
37
+ strategy:
38
+ matrix:
39
+ architecture: ["x86_64"]
40
+ python-version: ["cp39", "cp310", "cp311", "cp312", "cp313"]
41
+
42
+ steps:
43
+ - name: Checkout repository
44
+ uses: actions/checkout@v4
45
+
46
+ - name: Set up Python
47
+ uses: actions/setup-python@v5
48
+ with:
49
+ python-version: "3.11"
50
+
51
+ - name: Install cibuildwheel
52
+ run: |
53
+ python -m pip install --no-cache-dir --upgrade pip
54
+ python -m pip install --no-cache-dir cibuildwheel
55
+
56
+ - name: Build Linux wheels
57
+ run: cibuildwheel --output-dir wheelhouse
58
+ env:
59
+ CIBW_PLATFORM: linux
60
+ CIBW_BUILD: "${{ matrix.python-version }}-*"
61
+ CIBW_SKIP: "*-musllinux_*"
62
+ CIBW_ARCHS: "${{ matrix.architecture }}"
63
+ CIBW_BUILD_VERBOSITY: "1"
64
+ CIBW_ENVIRONMENT: "RUNIR_JOBS=2 TYR_JOBS=2 PYPDDL_JOBS=2 PYYGGDRASIL_JOBS=2 PIP_NO_CACHE_DIR=1"
65
+
66
+ - name: Upload Linux wheels artifact
67
+ uses: actions/upload-artifact@v4
68
+ with:
69
+ name: wheels-linux-${{ matrix.python-version }}-${{ matrix.architecture }}
70
+ path: wheelhouse/*.whl
71
+
72
+ build_wheels_macos:
73
+ runs-on: macos-latest
74
+ strategy:
75
+ matrix:
76
+ python-version: ["cp39", "cp310", "cp311", "cp312", "cp313"]
77
+
78
+ steps:
79
+ - name: Checkout repository
80
+ uses: actions/checkout@v4
81
+
82
+ - name: Set up Python
83
+ uses: actions/setup-python@v5
84
+ with:
85
+ python-version: "3.11"
86
+
87
+ - name: Install cibuildwheel
88
+ run: |
89
+ python -m pip install --no-cache-dir --upgrade pip
90
+ python -m pip install --no-cache-dir cibuildwheel
91
+
92
+ - name: Build macOS wheels
93
+ run: cibuildwheel --output-dir wheelhouse
94
+ env:
95
+ CIBW_PLATFORM: macos
96
+ CIBW_BUILD: "${{ matrix.python-version }}-*"
97
+ CIBW_ARCHS: arm64
98
+ CIBW_BUILD_VERBOSITY: "1"
99
+ CIBW_ENVIRONMENT: "RUNIR_JOBS=2 TYR_JOBS=2 PYPDDL_JOBS=2 PYYGGDRASIL_JOBS=2 PIP_NO_CACHE_DIR=1"
100
+
101
+ - name: Upload macOS wheels artifact
102
+ uses: actions/upload-artifact@v4
103
+ with:
104
+ name: wheels-macos-${{ matrix.python-version }}-arm64
105
+ path: wheelhouse/*.whl
106
+
107
+ publish:
108
+ needs:
109
+ - build_sdist
110
+ - build_wheels_linux
111
+ - build_wheels_macos
112
+ runs-on: ubuntu-latest
113
+
114
+ if: github.repository_owner == 'planning-and-learning'
115
+
116
+ permissions:
117
+ id-token: write
118
+
119
+ steps:
120
+ - name: Checkout repository
121
+ uses: actions/checkout@v4
122
+
123
+ - name: Check version matches tag
124
+ run: |
125
+ VERSION=$(python -c "import tomllib; print(tomllib.load(open('pyproject.toml', 'rb'))['project']['version'])")
126
+ TAG=${GITHUB_REF#refs/tags/v}
127
+
128
+ echo "Package version: $VERSION"
129
+ echo "Git tag: $TAG"
130
+
131
+ if [ "$VERSION" != "$TAG" ]; then
132
+ echo "Version mismatch: pyproject.toml=$VERSION tag=$TAG"
133
+ exit 1
134
+ fi
135
+
136
+ - name: Download all artifacts
137
+ uses: actions/download-artifact@v4
138
+ with:
139
+ path: dist
140
+ merge-multiple: true
141
+
142
+ - name: Inspect distributions
143
+ run: find dist -maxdepth 1 -type f
144
+
145
+ - name: Publish to PyPI
146
+ uses: pypa/gh-action-pypi-publish@release/v1
147
+ with:
148
+ packages-dir: dist
@@ -0,0 +1,107 @@
1
+ name: TestPyPI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - test-pypi
7
+
8
+ jobs:
9
+ build_wheel_linux:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - name: Checkout repository
14
+ uses: actions/checkout@v4
15
+
16
+ - name: Set up Python
17
+ uses: actions/setup-python@v5
18
+ with:
19
+ python-version: "3.13"
20
+
21
+ - name: Install cibuildwheel
22
+ run: |
23
+ python -m pip install --no-cache-dir --upgrade pip
24
+ python -m pip install --no-cache-dir cibuildwheel
25
+
26
+ - name: Build Linux wheel
27
+ run: cibuildwheel --output-dir wheelhouse
28
+ env:
29
+ PIP_INDEX_URL: https://test.pypi.org/simple/
30
+ PIP_EXTRA_INDEX_URL: https://pypi.org/simple/
31
+ CIBW_PLATFORM: linux
32
+ CIBW_BUILD: "cp313-*"
33
+ CIBW_SKIP: "*-musllinux_*"
34
+ CIBW_ARCHS: x86_64
35
+ CIBW_BUILD_VERBOSITY: "1"
36
+ CIBW_ENVIRONMENT: "RUNIR_JOBS=2 TYR_JOBS=2 PYPDDL_JOBS=2 PYYGGDRASIL_JOBS=2 PIP_NO_CACHE_DIR=1 PIP_INDEX_URL=https://test.pypi.org/simple/ PIP_EXTRA_INDEX_URL=https://pypi.org/simple/"
37
+
38
+ - name: Upload Linux wheel artifact
39
+ uses: actions/upload-artifact@v4
40
+ with:
41
+ name: wheel-linux-cp313-x86_64
42
+ path: wheelhouse/*.whl
43
+
44
+ build_wheel_macos:
45
+ runs-on: macos-latest
46
+
47
+ steps:
48
+ - name: Checkout repository
49
+ uses: actions/checkout@v4
50
+
51
+ - name: Set up Python
52
+ uses: actions/setup-python@v5
53
+ with:
54
+ python-version: "3.13"
55
+
56
+ - name: Install cibuildwheel
57
+ run: |
58
+ python -m pip install --no-cache-dir --upgrade pip
59
+ python -m pip install --no-cache-dir cibuildwheel
60
+
61
+ - name: Build macOS wheel
62
+ run: cibuildwheel --output-dir wheelhouse
63
+ env:
64
+ PIP_INDEX_URL: https://test.pypi.org/simple/
65
+ PIP_EXTRA_INDEX_URL: https://pypi.org/simple/
66
+ CIBW_PLATFORM: macos
67
+ CIBW_BUILD: "cp313-*"
68
+ CIBW_ARCHS: arm64
69
+ CIBW_BUILD_VERBOSITY: "1"
70
+ CIBW_ENVIRONMENT: "RUNIR_JOBS=2 TYR_JOBS=2 PYPDDL_JOBS=2 PYYGGDRASIL_JOBS=2 PIP_NO_CACHE_DIR=1 PIP_INDEX_URL=https://test.pypi.org/simple/ PIP_EXTRA_INDEX_URL=https://pypi.org/simple/"
71
+
72
+ - name: Upload macOS wheel artifact
73
+ uses: actions/upload-artifact@v4
74
+ with:
75
+ name: wheel-macos-cp313-arm64
76
+ path: wheelhouse/*.whl
77
+
78
+ publish:
79
+ needs:
80
+ - build_wheel_linux
81
+ - build_wheel_macos
82
+ runs-on: ubuntu-latest
83
+
84
+ if: github.repository_owner == 'planning-and-learning'
85
+
86
+ permissions:
87
+ contents: read
88
+ id-token: write
89
+
90
+ steps:
91
+ - name: Download wheel artifacts
92
+ uses: actions/download-artifact@v4
93
+ with:
94
+ path: dist
95
+ merge-multiple: true
96
+
97
+ - name: Inspect distributions
98
+ run: find dist -maxdepth 1 -type f
99
+
100
+ - name: Publish to TestPyPI
101
+ uses: pypa/gh-action-pypi-publish@release/v1
102
+ with:
103
+ packages-dir: dist
104
+ repository-url: https://test.pypi.org/legacy/
105
+ user: __token__
106
+ password: ${{ secrets.TEST_PYPI_API_TOKEN }}
107
+ skip-existing: true
@@ -0,0 +1,9 @@
1
+ build*/
2
+ dist/
3
+ wheelhouse/
4
+ *.egg-info/
5
+ __pycache__/
6
+ *.py[cod]
7
+ .pytest_cache/
8
+ .venv/
9
+ .vscode/
@@ -0,0 +1,3 @@
1
+ [submodule "data/planning-benchmarks"]
2
+ path = data/planning-benchmarks
3
+ url = https://github.com/planning-and-learning/planning-benchmarks.git
@@ -0,0 +1,127 @@
1
+ cmake_minimum_required(VERSION 3.21)
2
+
3
+ set(CMAKE_CXX_STANDARD 20)
4
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
5
+ set(CMAKE_CXX_EXTENSIONS OFF)
6
+
7
+ file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/pyproject.toml" RUNIR_PROJECT_VERSION_LINE REGEX "^version[ \t]*=" LIMIT_COUNT 1)
8
+ if(NOT RUNIR_PROJECT_VERSION_LINE)
9
+ message(FATAL_ERROR "Could not read project version from pyproject.toml")
10
+ endif()
11
+ string(REGEX REPLACE "^version[ \t]*=[ \t]*\"([^\"]+)\".*$" "\\1" RUNIR_PROJECT_VERSION "${RUNIR_PROJECT_VERSION_LINE}")
12
+
13
+ project(runir VERSION "${RUNIR_PROJECT_VERSION}" LANGUAGES CXX)
14
+
15
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Wextra -Wuninitialized -pedantic -fPIC")
16
+ set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG -fomit-frame-pointer")
17
+ set(CMAKE_CXX_FLAGS_DEBUG "-O3 -DDEBUG")
18
+
19
+ set(default_build_type "Debug")
20
+ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
21
+ message(STATUS "Setting build type to '${default_build_type}', as none was specified.")
22
+ set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE STRING "Choose the type of build." FORCE)
23
+ endif()
24
+ message(STATUS "Build configuration: ${CMAKE_BUILD_TYPE}")
25
+
26
+ include(GNUInstallDirs)
27
+
28
+ option(RUNIR_BUILD_TESTS "Enables compilation of runir tests." OFF)
29
+ if(RUNIR_BUILD_TESTS)
30
+ message("Build tests enabled.")
31
+ enable_testing()
32
+ else()
33
+ message("Build tests disabled.")
34
+ endif()
35
+
36
+ option(RUNIR_BUILD_SHARED "Build runir native libraries as shared libraries." ON)
37
+ set(BUILD_SHARED_LIBS ${RUNIR_BUILD_SHARED})
38
+ if(RUNIR_BUILD_SHARED)
39
+ message("Build shared libraries enabled.")
40
+ else()
41
+ message("Build shared libraries disabled.")
42
+ endif()
43
+
44
+ option(RUNIR_LINK_STATIC_DEPENDENCIES "Prefer static dependency libraries when finding installed dependencies." OFF)
45
+ option(RUNIR_ENABLE_FMT_FORMATTERS "Enable Runir's public fmt::formatter specializations." ON)
46
+ if(RUNIR_ENABLE_FMT_FORMATTERS)
47
+ add_compile_definitions(RUNIR_ENABLE_FMT_FORMATTERS=1)
48
+ else()
49
+ add_compile_definitions(RUNIR_ENABLE_FMT_FORMATTERS=0)
50
+ endif()
51
+
52
+ option(RUNIR_BUILD_EXECUTABLES "Build runir executables." OFF)
53
+ option(RUNIR_BUILD_PYRUNIR "Build pyrunir Python bindings." OFF)
54
+
55
+ list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
56
+ include("configure_yggdrasil")
57
+ include("configure_pypddl")
58
+ include("configure_tyr")
59
+ configure_yggdrasil()
60
+ configure_pypddl()
61
+ configure_tyr()
62
+
63
+ find_package(fmt CONFIG REQUIRED PATHS ${CMAKE_PREFIX_PATH} NO_DEFAULT_PATH)
64
+ if(fmt_FOUND)
65
+ message(STATUS "Found fmt: ${fmt_DIR} (found version ${fmt_VERSION})")
66
+ endif()
67
+
68
+ find_package(TBB CONFIG REQUIRED PATHS ${CMAKE_PREFIX_PATH} NO_DEFAULT_PATH)
69
+ if(TBB_FOUND)
70
+ include_directories(${TBB_INCLUDE_DIRS})
71
+ message(STATUS "Found TBB: ${TBB_DIR} (found version ${TBB_VERSION})")
72
+ endif()
73
+
74
+ find_package(tyr 0.0.17 CONFIG REQUIRED COMPONENTS core PATHS ${CMAKE_PREFIX_PATH} NO_DEFAULT_PATH)
75
+ if(tyr_FOUND)
76
+ message(STATUS "Found tyr: ${tyr_DIR} (found version ${tyr_VERSION})")
77
+ endif()
78
+
79
+ add_subdirectory(src)
80
+
81
+ if(RUNIR_BUILD_EXECUTABLES)
82
+ find_package(argparse CONFIG REQUIRED PATHS ${CMAKE_PREFIX_PATH} NO_DEFAULT_PATH)
83
+ if(argparse_FOUND)
84
+ message(STATUS "Found argparse: ${argparse_DIR} (found version ${argparse_VERSION})")
85
+ endif()
86
+ add_subdirectory(exe)
87
+ endif()
88
+
89
+ if(RUNIR_BUILD_PYRUNIR)
90
+ add_subdirectory(python/src)
91
+ endif()
92
+
93
+ if(RUNIR_BUILD_TESTS)
94
+ add_subdirectory(tests)
95
+ endif()
96
+
97
+ install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/runir"
98
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
99
+ COMPONENT runir)
100
+
101
+ install(
102
+ DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/cmake/"
103
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/runir/cmake"
104
+ COMPONENT runir
105
+ )
106
+
107
+ include(CMakePackageConfigHelpers)
108
+
109
+ write_basic_package_version_file(
110
+ "${CMAKE_CURRENT_BINARY_DIR}/runirConfigVersion.cmake"
111
+ VERSION ${runir_VERSION}
112
+ COMPATIBILITY ExactVersion
113
+ )
114
+
115
+ configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in"
116
+ "${CMAKE_CURRENT_BINARY_DIR}/runirConfig.cmake"
117
+ INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/runir"
118
+ NO_CHECK_REQUIRED_COMPONENTS_MACRO
119
+ )
120
+
121
+ install(
122
+ FILES
123
+ "${CMAKE_CURRENT_BINARY_DIR}/runirConfig.cmake"
124
+ "${CMAKE_CURRENT_BINARY_DIR}/runirConfigVersion.cmake"
125
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/runir"
126
+ COMPONENT runir
127
+ )