sierra-research 1.3.6__tar.gz → 1.5.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (551) hide show
  1. {sierra-research-1.3.6 → sierra_research-1.5.0}/.coveragerc +8 -0
  2. sierra_research-1.5.0/.dir-locals.el +40 -0
  3. sierra_research-1.5.0/.github/actions/sample-project-setup/action.yml +169 -0
  4. sierra_research-1.5.0/.github/workflows/analysis-top.yml +29 -0
  5. sierra_research-1.5.0/.github/workflows/analyze-nox.yml +35 -0
  6. sierra_research-1.5.0/.github/workflows/core.yml +51 -0
  7. sierra_research-1.5.0/.github/workflows/coverage-top.yml +175 -0
  8. sierra_research-1.5.0/.github/workflows/plugin.yml +422 -0
  9. sierra_research-1.5.0/.github/workflows/publish.yml +70 -0
  10. sierra_research-1.5.0/.github/workflows/unit-tests.yml +40 -0
  11. {sierra-research-1.3.6 → sierra_research-1.5.0}/.gitignore +2 -1
  12. {sierra-research-1.3.6 → sierra_research-1.5.0}/.pylintrc +14 -14
  13. {sierra-research-1.3.6 → sierra_research-1.5.0}/.readthedocs.yml +11 -8
  14. sierra_research-1.5.0/MANIFEST.in +2 -0
  15. sierra_research-1.5.0/PKG-INFO +238 -0
  16. sierra_research-1.5.0/README.rst +175 -0
  17. {sierra-research-1.3.6 → sierra_research-1.5.0}/docs/_ext/xref.py +0 -0
  18. sierra_research-1.5.0/docs/conf.py +408 -0
  19. sierra_research-1.5.0/docs/figures/architecture.uml +174 -0
  20. sierra_research-1.5.0/docs/figures/data-collation.uml +93 -0
  21. {sierra-research-1.3.6 → sierra_research-1.5.0}/docs/index.rst +23 -19
  22. sierra_research-1.5.0/docs/man/sierra-api.rst +2 -0
  23. sierra_research-1.5.0/docs/man/sierra-cli.rst +2 -0
  24. sierra_research-1.5.0/docs/man/sierra-plugins.rst +55 -0
  25. {sierra-research-1.3.6 → sierra_research-1.5.0}/docs/man/sierra-usage.rst +2 -4
  26. {sierra-research-1.3.6 → sierra_research-1.5.0}/docs/man/sierra.rst +20 -10
  27. sierra_research-1.5.0/docs/pyproject-man.txt +8 -0
  28. {sierra-research-1.3.6 → sierra_research-1.5.0}/docs/src/contributing.rst +11 -23
  29. sierra_research-1.5.0/docs/src/description.rst +24 -0
  30. sierra_research-1.5.0/docs/src/exp/index.rst +71 -0
  31. sierra_research-1.5.0/docs/src/exp/stage3-dataflow.rst +205 -0
  32. sierra_research-1.5.0/docs/src/exp/stage4-dataflow.rst +120 -0
  33. sierra_research-1.5.0/docs/src/exp/stage5-dataflow.rst +21 -0
  34. {sierra-research-1.3.6 → sierra_research-1.5.0}/docs/src/faq.rst +19 -22
  35. sierra_research-1.5.0/docs/src/glossary.rst +297 -0
  36. {sierra-research-1.3.6 → sierra_research-1.5.0}/docs/src/packages.rst +5 -9
  37. sierra_research-1.5.0/docs/src/philosophy.rst +112 -0
  38. sierra_research-1.5.0/docs/src/plugins/compare/cc_and_sc.yaml +58 -0
  39. sierra_research-1.5.0/docs/src/plugins/compare/graphs.rst +121 -0
  40. sierra_research-1.5.0/docs/src/plugins/compare/index.rst +23 -0
  41. sierra_research-1.5.0/docs/src/plugins/devguide.rst +226 -0
  42. sierra_research-1.5.0/docs/src/plugins/engine/argos/bc/population-constant-density.rst +34 -0
  43. sierra_research-1.5.0/docs/src/plugins/engine/argos/bc/population-size.rst +40 -0
  44. sierra_research-1.5.0/docs/src/plugins/engine/argos/bc/population-variable-density.rst +35 -0
  45. sierra_research-1.5.0/docs/src/plugins/engine/argos/index.rst +112 -0
  46. {sierra-research-1.3.6/docs/src/platform → sierra_research-1.5.0/docs/src/plugins/engine}/index.rst +8 -6
  47. sierra-research-1.3.6/docs/src/platform/ros1robot/batch_criteria.rst → sierra_research-1.5.0/docs/src/plugins/engine/ros1gazebo/bc/population-size.rst +9 -18
  48. sierra_research-1.5.0/docs/src/plugins/engine/ros1gazebo/index.rst +76 -0
  49. sierra-research-1.3.6/docs/src/platform/ros1gazebo/batch_criteria.rst → sierra_research-1.5.0/docs/src/plugins/engine/ros1robot/bc/population-size.rst +6 -20
  50. sierra_research-1.5.0/docs/src/plugins/engine/ros1robot/index.rst +127 -0
  51. {sierra-research-1.3.6/docs/src/exec_env → sierra_research-1.5.0/docs/src/plugins/execenv}/hpc.rst +113 -97
  52. {sierra-research-1.3.6/docs/src/exec_env → sierra_research-1.5.0/docs/src/plugins/execenv}/index.rst +6 -2
  53. sierra_research-1.5.0/docs/src/plugins/execenv/prefectserver.rst +121 -0
  54. sierra-research-1.3.6/docs/src/exec_env/robot.rst → sierra_research-1.5.0/docs/src/plugins/execenv/realrobot.rst +7 -7
  55. sierra_research-1.5.0/docs/src/plugins/expdef/argos-postproc.rst +23 -0
  56. sierra_research-1.5.0/docs/src/plugins/expdef/argos-preproc.rst +25 -0
  57. sierra_research-1.5.0/docs/src/plugins/expdef/examples.rst +40 -0
  58. sierra_research-1.5.0/docs/src/plugins/expdef/index.rst +39 -0
  59. sierra_research-1.5.0/docs/src/plugins/expdef/json.rst +22 -0
  60. sierra_research-1.5.0/docs/src/plugins/expdef/ros1-paramserver-postproc.rst +58 -0
  61. sierra_research-1.5.0/docs/src/plugins/expdef/ros1-paramserver-preproc.rst +26 -0
  62. sierra_research-1.5.0/docs/src/plugins/expdef/ros1-paramstag-postproc.rst +73 -0
  63. sierra_research-1.5.0/docs/src/plugins/expdef/ros1-paramstag-preproc.rst +30 -0
  64. sierra_research-1.5.0/docs/src/plugins/expdef/xml.rst +75 -0
  65. sierra_research-1.5.0/docs/src/plugins/external.rst +87 -0
  66. sierra_research-1.5.0/docs/src/plugins/index.rst +59 -0
  67. sierra_research-1.5.0/docs/src/plugins/proc/collate.rst +75 -0
  68. sierra_research-1.5.0/docs/src/plugins/proc/compress.rst +40 -0
  69. sierra_research-1.5.0/docs/src/plugins/proc/decompress.rst +28 -0
  70. sierra_research-1.5.0/docs/src/plugins/proc/imagize.rst +80 -0
  71. sierra_research-1.5.0/docs/src/plugins/proc/index.rst +21 -0
  72. sierra_research-1.5.0/docs/src/plugins/proc/modelrunner.rst +240 -0
  73. sierra_research-1.5.0/docs/src/plugins/proc/statistics.rst +65 -0
  74. sierra_research-1.5.0/docs/src/plugins/prod/figures/render-argos-overhead.mp4 +0 -0
  75. sierra_research-1.5.0/docs/src/plugins/prod/figures/render-argos-sw+interp.mp4 +0 -0
  76. sierra_research-1.5.0/docs/src/plugins/prod/graphs.rst +428 -0
  77. sierra_research-1.5.0/docs/src/plugins/prod/heatmap.yaml +45 -0
  78. sierra_research-1.5.0/docs/src/plugins/prod/index.rst +24 -0
  79. sierra_research-1.5.0/docs/src/plugins/prod/render.rst +135 -0
  80. sierra_research-1.5.0/docs/src/plugins/prod/stacked_line.yaml +52 -0
  81. sierra_research-1.5.0/docs/src/plugins/prod/summary_line.yaml +50 -0
  82. sierra_research-1.5.0/docs/src/plugins/storage/index.rst +43 -0
  83. sierra_research-1.5.0/docs/src/requirements/engine/argos.rst +49 -0
  84. sierra_research-1.5.0/docs/src/requirements/engine/ros1.rst +65 -0
  85. sierra_research-1.5.0/docs/src/requirements/engine/ros1gazebo.rst +3 -0
  86. sierra_research-1.5.0/docs/src/requirements/engine/ros1robot.rst +48 -0
  87. sierra_research-1.5.0/docs/src/requirements/expdef/json.rst +20 -0
  88. sierra_research-1.5.0/docs/src/requirements/expdef/xml.rst +20 -0
  89. sierra_research-1.5.0/docs/src/requirements/index.rst +195 -0
  90. sierra_research-1.5.0/docs/src/roadmap.rst +164 -0
  91. sierra_research-1.5.0/docs/src/startup.rst +147 -0
  92. {sierra-research-1.3.6 → sierra_research-1.5.0}/docs/src/trial.rst +80 -42
  93. sierra_research-1.5.0/docs/src/tutorials/index.rst +41 -0
  94. sierra_research-1.5.0/docs/src/tutorials/plugin/compare/index.rst +45 -0
  95. sierra_research-1.5.0/docs/src/tutorials/plugin/compare/plugin.rst +20 -0
  96. sierra_research-1.5.0/docs/src/tutorials/plugin/engine/cmdline-engine.py +55 -0
  97. sierra_research-1.5.0/docs/src/tutorials/plugin/engine/generators.py +82 -0
  98. sierra_research-1.5.0/docs/src/tutorials/plugin/engine/index.rst +571 -0
  99. sierra_research-1.5.0/docs/src/tutorials/plugin/engine/plugin.py +192 -0
  100. sierra_research-1.5.0/docs/src/tutorials/plugin/execenv/index.rst +167 -0
  101. sierra_research-1.5.0/docs/src/tutorials/plugin/execenv/plugin.py +37 -0
  102. sierra_research-1.5.0/docs/src/tutorials/plugin/expdef/index.rst +61 -0
  103. sierra_research-1.5.0/docs/src/tutorials/plugin/expdef/plugin.rst +27 -0
  104. sierra_research-1.5.0/docs/src/tutorials/plugin/proc/index.rst +39 -0
  105. sierra_research-1.5.0/docs/src/tutorials/plugin/proc/plugin.rst +19 -0
  106. sierra_research-1.5.0/docs/src/tutorials/plugin/prod/index.rst +39 -0
  107. sierra_research-1.5.0/docs/src/tutorials/plugin/prod/plugin.rst +19 -0
  108. sierra_research-1.5.0/docs/src/tutorials/plugin/storage/index.rst +39 -0
  109. {sierra-research-1.3.6 → sierra_research-1.5.0}/docs/src/tutorials/plugin/storage/plugin.rst +8 -1
  110. {sierra-research-1.3.6/docs/src/tutorials/project/main_config → sierra_research-1.5.0/docs/src/tutorials/project/config}/controllers.rst +30 -16
  111. sierra_research-1.5.0/docs/src/tutorials/project/config/index.rst +37 -0
  112. {sierra-research-1.3.6/docs/src/tutorials/project/main_config → sierra_research-1.5.0/docs/src/tutorials/project/config}/main.rst +11 -11
  113. sierra_research-1.5.0/docs/src/tutorials/project/generators.rst +119 -0
  114. sierra_research-1.5.0/docs/src/tutorials/project/hooks.rst +73 -0
  115. sierra-research-1.3.6/docs/src/tutorials/project/new_bc.rst → sierra_research-1.5.0/docs/src/tutorials/project/new-bc.rst +43 -29
  116. sierra_research-1.5.0/docs/src/tutorials/project/project.rst +145 -0
  117. sierra_research-1.5.0/docs/src/usage/bc.rst +38 -0
  118. sierra_research-1.5.0/docs/src/usage/cli.rst +59 -0
  119. sierra_research-1.5.0/docs/src/usage/deep-dive.rst +146 -0
  120. sierra_research-1.5.0/docs/src/usage/environment.rst +190 -0
  121. {sierra-research-1.3.6 → sierra_research-1.5.0}/docs/src/usage/examples.rst +56 -61
  122. sierra_research-1.5.0/docs/src/usage/index.rst +27 -0
  123. sierra_research-1.5.0/docs/src/usage/pipeline.rst +231 -0
  124. sierra_research-1.5.0/docs/src/usage/run-time-tree.rst +237 -0
  125. {sierra-research-1.3.6 → sierra_research-1.5.0}/docs/src/usage/subprograms.rst +9 -5
  126. sierra_research-1.5.0/docs/src/usage/variables.rst +51 -0
  127. sierra_research-1.5.0/docs/src/use-cases.rst +138 -0
  128. sierra_research-1.5.0/noxfile.py +194 -0
  129. sierra_research-1.5.0/pyproject.toml +150 -0
  130. sierra_research-1.5.0/sierra/__init__.py +11 -0
  131. sierra_research-1.5.0/sierra/core/__init__.py +11 -0
  132. sierra_research-1.5.0/sierra/core/batchroot.py +223 -0
  133. sierra_research-1.5.0/sierra/core/cmdline.py +819 -0
  134. sierra_research-1.5.0/sierra/core/compare.py +11 -0
  135. sierra_research-1.5.0/sierra/core/config.py +180 -0
  136. sierra_research-1.5.0/sierra/core/engine.py +306 -0
  137. sierra_research-1.5.0/sierra/core/execenv.py +380 -0
  138. sierra_research-1.5.0/sierra/core/expdef.py +11 -0
  139. sierra_research-1.5.0/sierra/core/experiment/__init__.py +10 -0
  140. {sierra-research-1.3.6 → sierra_research-1.5.0}/sierra/core/experiment/bindings.py +150 -101
  141. sierra_research-1.5.0/sierra/core/experiment/definition.py +524 -0
  142. sierra_research-1.5.0/sierra/core/experiment/spec.py +192 -0
  143. sierra_research-1.5.0/sierra/core/exproot.py +44 -0
  144. {sierra-research-1.3.6/sierra/core/hpc → sierra_research-1.5.0/sierra/core/generators}/__init__.py +1 -1
  145. sierra_research-1.5.0/sierra/core/generators/experiment.py +528 -0
  146. sierra_research-1.5.0/sierra/core/generators/generator_factory.py +230 -0
  147. sierra_research-1.5.0/sierra/core/graphs/__init__.py +23 -0
  148. sierra_research-1.5.0/sierra/core/graphs/bcbridge.py +94 -0
  149. sierra_research-1.5.0/sierra/core/graphs/heatmap.py +277 -0
  150. sierra_research-1.5.0/sierra/core/graphs/pathset.py +27 -0
  151. sierra_research-1.5.0/sierra/core/graphs/schema.py +77 -0
  152. sierra_research-1.5.0/sierra/core/graphs/stacked_line.py +341 -0
  153. sierra_research-1.5.0/sierra/core/graphs/summary_line.py +506 -0
  154. {sierra-research-1.3.6 → sierra_research-1.5.0}/sierra/core/logging.py +3 -2
  155. sierra_research-1.5.0/sierra/core/models/__init__.py +11 -0
  156. sierra_research-1.5.0/sierra/core/models/info.py +19 -0
  157. sierra_research-1.5.0/sierra/core/models/interface.py +130 -0
  158. {sierra-research-1.3.6/sierra/plugins/platform/ros1gazebo/generators → sierra_research-1.5.0/sierra/core/pipeline}/__init__.py +1 -5
  159. sierra_research-1.5.0/sierra/core/pipeline/pipeline.py +294 -0
  160. sierra_research-1.5.0/sierra/core/pipeline/stage1/__init__.py +10 -0
  161. {sierra-research-1.3.6 → sierra_research-1.5.0}/sierra/core/pipeline/stage1/pipeline_stage1.py +45 -31
  162. {sierra-research-1.3.6/sierra/core → sierra_research-1.5.0/sierra/core/pipeline/stage2}/__init__.py +1 -2
  163. {sierra-research-1.3.6 → sierra_research-1.5.0}/sierra/core/pipeline/stage2/pipeline_stage2.py +8 -11
  164. sierra_research-1.5.0/sierra/core/pipeline/stage2/runner.py +401 -0
  165. sierra_research-1.5.0/sierra/core/pipeline/stage3/__init__.py +12 -0
  166. sierra_research-1.5.0/sierra/core/pipeline/stage3/gather.py +321 -0
  167. sierra_research-1.5.0/sierra/core/pipeline/stage3/pipeline_stage3.py +71 -0
  168. sierra_research-1.5.0/sierra/core/pipeline/stage4/__init__.py +12 -0
  169. sierra_research-1.5.0/sierra/core/pipeline/stage4/pipeline_stage4.py +93 -0
  170. sierra_research-1.5.0/sierra/core/pipeline/stage5/__init__.py +12 -0
  171. sierra_research-1.5.0/sierra/core/pipeline/stage5/pipeline_stage5.py +62 -0
  172. sierra_research-1.5.0/sierra/core/pipeline/yaml.py +48 -0
  173. sierra_research-1.5.0/sierra/core/plugin.py +579 -0
  174. sierra_research-1.5.0/sierra/core/proc.py +11 -0
  175. sierra_research-1.5.0/sierra/core/prod.py +11 -0
  176. sierra_research-1.5.0/sierra/core/ros1/__init__.py +14 -0
  177. sierra_research-1.5.0/sierra/core/ros1/callbacks.py +46 -0
  178. sierra_research-1.5.0/sierra/core/ros1/cmdline.py +96 -0
  179. sierra_research-1.5.0/sierra/core/ros1/generators.py +198 -0
  180. {sierra-research-1.3.6 → sierra_research-1.5.0}/sierra/core/ros1/variables/__init__.py +3 -0
  181. sierra_research-1.5.0/sierra/core/ros1/variables/exp_setup.py +194 -0
  182. sierra_research-1.5.0/sierra/core/startup.py +183 -0
  183. {sierra-research-1.3.6 → sierra_research-1.5.0}/sierra/core/stat_kernels.py +4 -5
  184. sierra_research-1.5.0/sierra/core/storage.py +37 -0
  185. sierra_research-1.5.0/sierra/core/trampoline.py +30 -0
  186. sierra_research-1.5.0/sierra/core/types.py +132 -0
  187. {sierra-research-1.3.6 → sierra_research-1.5.0}/sierra/core/utils.py +103 -106
  188. {sierra-research-1.3.6 → sierra_research-1.5.0}/sierra/core/variables/__init__.py +1 -1
  189. sierra_research-1.5.0/sierra/core/variables/base_variable.py +52 -0
  190. sierra_research-1.5.0/sierra/core/variables/batch_criteria.py +632 -0
  191. sierra_research-1.5.0/sierra/core/variables/builtin.py +135 -0
  192. sierra_research-1.5.0/sierra/core/variables/exp_setup.py +49 -0
  193. sierra_research-1.5.0/sierra/core/variables/population_size.py +120 -0
  194. sierra_research-1.5.0/sierra/core/variables/variable_density.py +88 -0
  195. {sierra-research-1.3.6 → sierra_research-1.5.0}/sierra/core/vector.py +1 -1
  196. sierra_research-1.5.0/sierra/main.py +338 -0
  197. sierra_research-1.5.0/sierra/plugins/__init__.py +128 -0
  198. sierra_research-1.5.0/sierra/plugins/compare/__init__.py +14 -0
  199. sierra_research-1.5.0/sierra/plugins/compare/graphs/__init__.py +19 -0
  200. sierra_research-1.5.0/sierra/plugins/compare/graphs/cmdline.py +120 -0
  201. sierra_research-1.5.0/sierra/plugins/compare/graphs/comparator.py +291 -0
  202. sierra_research-1.5.0/sierra/plugins/compare/graphs/inter_controller.py +531 -0
  203. sierra_research-1.5.0/sierra/plugins/compare/graphs/inter_scenario.py +297 -0
  204. sierra_research-1.5.0/sierra/plugins/compare/graphs/namecalc.py +53 -0
  205. sierra_research-1.5.0/sierra/plugins/compare/graphs/outputroot.py +73 -0
  206. sierra_research-1.5.0/sierra/plugins/compare/graphs/plugin.py +147 -0
  207. sierra_research-1.5.0/sierra/plugins/compare/graphs/preprocess.py +172 -0
  208. sierra_research-1.5.0/sierra/plugins/compare/graphs/schema.py +37 -0
  209. sierra_research-1.5.0/sierra/plugins/engine/__init__.py +14 -0
  210. sierra_research-1.5.0/sierra/plugins/engine/argos/__init__.py +18 -0
  211. {sierra-research-1.3.6/sierra/plugins/platform → sierra_research-1.5.0/sierra/plugins/engine}/argos/cmdline.py +144 -151
  212. {sierra-research-1.3.6/sierra/plugins/platform/argos/variables → sierra_research-1.5.0/sierra/plugins/engine/argos/generators}/__init__.py +5 -0
  213. sierra_research-1.5.0/sierra/plugins/engine/argos/generators/engine.py +394 -0
  214. sierra_research-1.5.0/sierra/plugins/engine/argos/plugin.py +393 -0
  215. {sierra-research-1.3.6/sierra/plugins/platform/argos/generators → sierra_research-1.5.0/sierra/plugins/engine/argos/variables}/__init__.py +5 -0
  216. sierra_research-1.5.0/sierra/plugins/engine/argos/variables/arena_shape.py +183 -0
  217. sierra_research-1.5.0/sierra/plugins/engine/argos/variables/cameras.py +240 -0
  218. sierra_research-1.5.0/sierra/plugins/engine/argos/variables/constant_density.py +112 -0
  219. sierra_research-1.5.0/sierra/plugins/engine/argos/variables/exp_setup.py +82 -0
  220. {sierra-research-1.3.6/sierra/plugins/platform → sierra_research-1.5.0/sierra/plugins/engine}/argos/variables/physics_engines.py +83 -87
  221. sierra_research-1.5.0/sierra/plugins/engine/argos/variables/population_constant_density.py +178 -0
  222. sierra_research-1.5.0/sierra/plugins/engine/argos/variables/population_size.py +115 -0
  223. sierra_research-1.5.0/sierra/plugins/engine/argos/variables/population_variable_density.py +123 -0
  224. sierra_research-1.5.0/sierra/plugins/engine/argos/variables/rendering.py +108 -0
  225. sierra_research-1.5.0/sierra/plugins/engine/ros1gazebo/__init__.py +18 -0
  226. sierra_research-1.5.0/sierra/plugins/engine/ros1gazebo/cmdline.py +175 -0
  227. sierra_research-1.5.0/sierra/plugins/engine/ros1gazebo/generators/__init__.py +14 -0
  228. sierra_research-1.5.0/sierra/plugins/engine/ros1gazebo/generators/engine.py +125 -0
  229. sierra_research-1.5.0/sierra/plugins/engine/ros1gazebo/plugin.py +404 -0
  230. sierra_research-1.5.0/sierra/plugins/engine/ros1gazebo/variables/__init__.py +15 -0
  231. sierra_research-1.5.0/sierra/plugins/engine/ros1gazebo/variables/population_size.py +214 -0
  232. sierra_research-1.5.0/sierra/plugins/engine/ros1robot/__init__.py +18 -0
  233. sierra_research-1.5.0/sierra/plugins/engine/ros1robot/cmdline.py +159 -0
  234. sierra_research-1.5.0/sierra/plugins/engine/ros1robot/generators/__init__.py +13 -0
  235. sierra_research-1.5.0/sierra/plugins/engine/ros1robot/generators/engine.py +95 -0
  236. sierra_research-1.5.0/sierra/plugins/engine/ros1robot/plugin.py +410 -0
  237. sierra-research-1.3.6/sierra/version.py → sierra_research-1.5.0/sierra/plugins/engine/ros1robot/variables/__init__.py +5 -3
  238. sierra_research-1.5.0/sierra/plugins/engine/ros1robot/variables/population_size.py +146 -0
  239. sierra_research-1.5.0/sierra/plugins/execenv/__init__.py +11 -0
  240. sierra_research-1.5.0/sierra/plugins/execenv/hpc/__init__.py +18 -0
  241. sierra_research-1.5.0/sierra/plugins/execenv/hpc/adhoc/__init__.py +18 -0
  242. sierra_research-1.5.0/sierra/plugins/execenv/hpc/adhoc/cmdline.py +30 -0
  243. sierra_research-1.5.0/sierra/plugins/execenv/hpc/adhoc/plugin.py +131 -0
  244. sierra_research-1.5.0/sierra/plugins/execenv/hpc/cmdline.py +137 -0
  245. sierra_research-1.5.0/sierra/plugins/execenv/hpc/local/__init__.py +18 -0
  246. sierra_research-1.5.0/sierra/plugins/execenv/hpc/local/cmdline.py +31 -0
  247. sierra_research-1.5.0/sierra/plugins/execenv/hpc/local/plugin.py +145 -0
  248. sierra_research-1.5.0/sierra/plugins/execenv/hpc/pbs/__init__.py +18 -0
  249. sierra_research-1.5.0/sierra/plugins/execenv/hpc/pbs/cmdline.py +30 -0
  250. sierra_research-1.5.0/sierra/plugins/execenv/hpc/pbs/plugin.py +121 -0
  251. sierra_research-1.5.0/sierra/plugins/execenv/hpc/slurm/__init__.py +18 -0
  252. sierra_research-1.5.0/sierra/plugins/execenv/hpc/slurm/cmdline.py +30 -0
  253. sierra_research-1.5.0/sierra/plugins/execenv/hpc/slurm/plugin.py +133 -0
  254. sierra_research-1.5.0/sierra/plugins/execenv/prefectserver/__init__.py +18 -0
  255. sierra_research-1.5.0/sierra/plugins/execenv/prefectserver/cmdline.py +66 -0
  256. sierra_research-1.5.0/sierra/plugins/execenv/prefectserver/dockerremote/__init__.py +18 -0
  257. sierra_research-1.5.0/sierra/plugins/execenv/prefectserver/dockerremote/cmdline.py +66 -0
  258. sierra_research-1.5.0/sierra/plugins/execenv/prefectserver/dockerremote/plugin.py +132 -0
  259. sierra_research-1.5.0/sierra/plugins/execenv/prefectserver/flow.py +66 -0
  260. sierra_research-1.5.0/sierra/plugins/execenv/prefectserver/local/__init__.py +18 -0
  261. sierra_research-1.5.0/sierra/plugins/execenv/prefectserver/local/cmdline.py +29 -0
  262. sierra_research-1.5.0/sierra/plugins/execenv/prefectserver/local/plugin.py +133 -0
  263. sierra_research-1.5.0/sierra/plugins/execenv/robot/__init__.py +10 -0
  264. sierra_research-1.5.0/sierra/plugins/execenv/robot/turtlebot3/__init__.py +18 -0
  265. sierra_research-1.5.0/sierra/plugins/execenv/robot/turtlebot3/plugin.py +204 -0
  266. sierra_research-1.5.0/sierra/plugins/expdef/__init__.py +14 -0
  267. sierra_research-1.5.0/sierra/plugins/expdef/json/__init__.py +14 -0
  268. sierra_research-1.5.0/sierra/plugins/expdef/json/plugin.py +504 -0
  269. sierra_research-1.5.0/sierra/plugins/expdef/xml/__init__.py +14 -0
  270. sierra_research-1.5.0/sierra/plugins/expdef/xml/plugin.py +386 -0
  271. {sierra-research-1.3.6/sierra/core/experiment → sierra_research-1.5.0/sierra/plugins/proc}/__init__.py +1 -0
  272. sierra_research-1.5.0/sierra/plugins/proc/collate/__init__.py +15 -0
  273. sierra_research-1.5.0/sierra/plugins/proc/collate/cmdline.py +47 -0
  274. sierra_research-1.5.0/sierra/plugins/proc/collate/plugin.py +271 -0
  275. sierra_research-1.5.0/sierra/plugins/proc/compress/__init__.py +18 -0
  276. sierra_research-1.5.0/sierra/plugins/proc/compress/cmdline.py +47 -0
  277. sierra_research-1.5.0/sierra/plugins/proc/compress/plugin.py +123 -0
  278. sierra_research-1.5.0/sierra/plugins/proc/decompress/__init__.py +18 -0
  279. sierra_research-1.5.0/sierra/plugins/proc/decompress/plugin.py +96 -0
  280. sierra_research-1.5.0/sierra/plugins/proc/imagize/__init__.py +15 -0
  281. sierra_research-1.5.0/sierra/plugins/proc/imagize/cmdline.py +49 -0
  282. sierra_research-1.5.0/sierra/plugins/proc/imagize/plugin.py +270 -0
  283. sierra_research-1.5.0/sierra/plugins/proc/modelrunner/__init__.py +16 -0
  284. sierra_research-1.5.0/sierra/plugins/proc/modelrunner/plugin.py +250 -0
  285. sierra_research-1.5.0/sierra/plugins/proc/statistics/__init__.py +15 -0
  286. sierra_research-1.5.0/sierra/plugins/proc/statistics/cmdline.py +64 -0
  287. sierra_research-1.5.0/sierra/plugins/proc/statistics/plugin.py +390 -0
  288. {sierra-research-1.3.6/sierra → sierra_research-1.5.0/sierra/plugins/prod}/__init__.py +1 -2
  289. sierra_research-1.5.0/sierra/plugins/prod/graphs/__init__.py +18 -0
  290. sierra_research-1.5.0/sierra/plugins/prod/graphs/cmdline.py +269 -0
  291. sierra_research-1.5.0/sierra/plugins/prod/graphs/collate.py +279 -0
  292. sierra_research-1.5.0/sierra/plugins/prod/graphs/inter/__init__.py +13 -0
  293. sierra_research-1.5.0/sierra/plugins/prod/graphs/inter/generate.py +83 -0
  294. sierra_research-1.5.0/sierra/plugins/prod/graphs/inter/heatmap.py +86 -0
  295. sierra_research-1.5.0/sierra/plugins/prod/graphs/inter/line.py +134 -0
  296. sierra_research-1.5.0/sierra/plugins/prod/graphs/intra/__init__.py +15 -0
  297. sierra_research-1.5.0/sierra/plugins/prod/graphs/intra/generate.py +202 -0
  298. sierra_research-1.5.0/sierra/plugins/prod/graphs/intra/heatmap.py +74 -0
  299. sierra_research-1.5.0/sierra/plugins/prod/graphs/intra/line.py +114 -0
  300. sierra_research-1.5.0/sierra/plugins/prod/graphs/plugin.py +103 -0
  301. sierra_research-1.5.0/sierra/plugins/prod/graphs/targets.py +63 -0
  302. sierra_research-1.5.0/sierra/plugins/prod/render/__init__.py +18 -0
  303. sierra_research-1.5.0/sierra/plugins/prod/render/cmdline.py +72 -0
  304. sierra_research-1.5.0/sierra/plugins/prod/render/plugin.py +282 -0
  305. sierra_research-1.5.0/sierra/plugins/storage/__init__.py +14 -0
  306. sierra_research-1.5.0/sierra/plugins/storage/arrow/__init__.py +18 -0
  307. sierra_research-1.5.0/sierra/plugins/storage/arrow/plugin.py +38 -0
  308. sierra_research-1.5.0/sierra/plugins/storage/csv/__init__.py +18 -0
  309. {sierra-research-1.3.6 → sierra_research-1.5.0}/sierra/plugins/storage/csv/plugin.py +12 -5
  310. sierra_research-1.5.0/sierra/version.py +13 -0
  311. sierra_research-1.5.0/tests/__init__.py +11 -0
  312. sierra_research-1.5.0/tests/macos13.Dockerfile +46 -0
  313. sierra_research-1.5.0/tests/smoke_tests/core.py +597 -0
  314. sierra_research-1.5.0/tests/smoke_tests/pbs-test.sh +22 -0
  315. sierra_research-1.5.0/tests/smoke_tests/pbs.conf +9 -0
  316. sierra_research-1.5.0/tests/smoke_tests/plugin/engine/argos.py +343 -0
  317. sierra_research-1.5.0/tests/smoke_tests/plugin/engine/jsonsim.py +163 -0
  318. sierra_research-1.5.0/tests/smoke_tests/plugin/engine/ros1gazebo.py +52 -0
  319. sierra_research-1.5.0/tests/smoke_tests/plugin/engine/ros1robot.py +48 -0
  320. sierra_research-1.5.0/tests/smoke_tests/plugin/execenv.py +369 -0
  321. sierra_research-1.5.0/tests/smoke_tests/plugin/proc/compression.py +86 -0
  322. sierra_research-1.5.0/tests/smoke_tests/plugin/proc/modelrunner.py +62 -0
  323. sierra_research-1.5.0/tests/smoke_tests/plugin/prod/graphs.py +93 -0
  324. sierra_research-1.5.0/tests/smoke_tests/prefectserver.dockerremote.Dockerfile +32 -0
  325. sierra_research-1.5.0/tests/smoke_tests/setup.py +190 -0
  326. {sierra-research-1.3.6/scripts → sierra_research-1.5.0/tests/smoke_tests}/slurm-test.sh +1 -2
  327. {sierra-research-1.3.6/scripts → sierra_research-1.5.0/tests/smoke_tests}/slurm.conf +6 -1
  328. sierra_research-1.5.0/tests/smoke_tests/utils.py +572 -0
  329. sierra_research-1.5.0/tests/ubuntu2004.Dockerfile +65 -0
  330. sierra_research-1.5.0/tests/ubuntu2404.Dockerfile +81 -0
  331. {sierra-research-1.3.6/tests → sierra_research-1.5.0/tests/unit_tests}/arena_extent_test.py +1 -13
  332. sierra_research-1.5.0/tests/unit_tests/bc_test.py +172 -0
  333. sierra_research-1.5.0/tests/unit_tests/expdef/batters.json +9 -0
  334. sierra_research-1.5.0/tests/unit_tests/expdef/f2.json +34 -0
  335. sierra_research-1.5.0/tests/unit_tests/expdef/f2.xml +11 -0
  336. sierra_research-1.5.0/tests/unit_tests/expdef/f3.xml +34 -0
  337. sierra_research-1.5.0/tests/unit_tests/expdef/f4.json +29 -0
  338. sierra_research-1.5.0/tests/unit_tests/expdef/f9.json +50 -0
  339. sierra_research-1.5.0/tests/unit_tests/expdef/flatten-out.json +41 -0
  340. sierra_research-1.5.0/tests/unit_tests/expdef/flatten.json +36 -0
  341. sierra_research-1.5.0/tests/unit_tests/expdef/flatten1-out.json +16 -0
  342. sierra_research-1.5.0/tests/unit_tests/expdef/flatten1.json +10 -0
  343. sierra_research-1.5.0/tests/unit_tests/expdef/flatten2-out.json +21 -0
  344. sierra_research-1.5.0/tests/unit_tests/expdef/flatten2.json +15 -0
  345. sierra_research-1.5.0/tests/unit_tests/expdef/flatten3-out.json +36 -0
  346. sierra_research-1.5.0/tests/unit_tests/expdef/flatten3.json +21 -0
  347. sierra_research-1.5.0/tests/unit_tests/expdef/flatten4-out.json +48 -0
  348. sierra_research-1.5.0/tests/unit_tests/expdef/flatten4.json +36 -0
  349. sierra_research-1.5.0/tests/unit_tests/expdef/json_test.py +149 -0
  350. sierra_research-1.5.0/tests/unit_tests/expdef/single-topping.json +1 -0
  351. sierra_research-1.5.0/tests/unit_tests/expdef/xml_test.py +188 -0
  352. sierra_research-1.5.0/tests/unit_tests/storage/arrow_test.py +19 -0
  353. {sierra-research-1.3.6/tests → sierra_research-1.5.0/tests/unit_tests}/vector_test.py +1 -13
  354. {sierra-research-1.3.6 → sierra_research-1.5.0}/todo.org +49 -28
  355. sierra_research-1.5.0/uv.lock +5962 -0
  356. sierra-research-1.3.6/.dir-locals.el +0 -29
  357. sierra-research-1.3.6/.github/actions/publish/action.yml +0 -66
  358. sierra-research-1.3.6/.github/actions/sample-project-setup/action.yml +0 -128
  359. sierra-research-1.3.6/.github/actions/sierra-setup/action.yml +0 -73
  360. sierra-research-1.3.6/.github/actions/slurm-setup/action.yml +0 -35
  361. sierra-research-1.3.6/.github/workflows/argos.yml +0 -177
  362. sierra-research-1.3.6/.github/workflows/coverage.yml +0 -101
  363. sierra-research-1.3.6/.github/workflows/exec-env-plugins.yml +0 -81
  364. sierra-research-1.3.6/.github/workflows/integration-all.yml +0 -95
  365. sierra-research-1.3.6/.github/workflows/ros1gazebo.yml +0 -68
  366. sierra-research-1.3.6/.github/workflows/ros1robot.yml +0 -66
  367. sierra-research-1.3.6/.github/workflows/sierra-core.yml +0 -286
  368. sierra-research-1.3.6/.github/workflows/static-analysis.yml +0 -38
  369. sierra-research-1.3.6/.github/workflows/unit-tests.yml +0 -35
  370. sierra-research-1.3.6/.projectile +0 -3
  371. sierra-research-1.3.6/PKG-INFO +0 -501
  372. sierra-research-1.3.6/README.rst +0 -436
  373. sierra-research-1.3.6/docs/Makefile +0 -20
  374. sierra-research-1.3.6/docs/_build/man/sierra-cli.1 +0 -2349
  375. sierra-research-1.3.6/docs/_build/man/sierra-examples.7 +0 -488
  376. sierra-research-1.3.6/docs/_build/man/sierra-exec-envs.7 +0 -331
  377. sierra-research-1.3.6/docs/_build/man/sierra-glossary.7 +0 -285
  378. sierra-research-1.3.6/docs/_build/man/sierra-platforms.7 +0 -358
  379. sierra-research-1.3.6/docs/_build/man/sierra-usage.7 +0 -725
  380. sierra-research-1.3.6/docs/_build/man/sierra.7 +0 -78
  381. sierra-research-1.3.6/docs/_templates/autoapi/module.rst +0 -100
  382. sierra-research-1.3.6/docs/conf.py +0 -328
  383. sierra-research-1.3.6/docs/figures/architecture.png +0 -0
  384. sierra-research-1.3.6/docs/man/sierra-cli.rst +0 -40
  385. sierra-research-1.3.6/docs/man/sierra-exec-envs.rst +0 -8
  386. sierra-research-1.3.6/docs/man/sierra-platforms.rst +0 -9
  387. sierra-research-1.3.6/docs/requirements.txt +0 -12
  388. sierra-research-1.3.6/docs/src/api.rst +0 -18
  389. sierra-research-1.3.6/docs/src/description.rst +0 -15
  390. sierra-research-1.3.6/docs/src/getting_started.rst +0 -181
  391. sierra-research-1.3.6/docs/src/glossary.rst +0 -251
  392. sierra-research-1.3.6/docs/src/matrix.rst +0 -171
  393. sierra-research-1.3.6/docs/src/philosophy.rst +0 -60
  394. sierra-research-1.3.6/docs/src/platform/argos/batch_criteria.rst +0 -130
  395. sierra-research-1.3.6/docs/src/platform/argos/index.rst +0 -30
  396. sierra-research-1.3.6/docs/src/platform/ros1gazebo/index.rst +0 -42
  397. sierra-research-1.3.6/docs/src/platform/ros1robot/index.rst +0 -72
  398. sierra-research-1.3.6/docs/src/plugins/index.rst +0 -11
  399. sierra-research-1.3.6/docs/src/requirements.rst +0 -382
  400. sierra-research-1.3.6/docs/src/roadmap.rst +0 -106
  401. sierra-research-1.3.6/docs/src/storage/index.rst +0 -24
  402. sierra-research-1.3.6/docs/src/tutorials/hpc/cluster_setup.rst +0 -56
  403. sierra-research-1.3.6/docs/src/tutorials/hpc/local_setup.rst +0 -8
  404. sierra-research-1.3.6/docs/src/tutorials/index.rst +0 -44
  405. sierra-research-1.3.6/docs/src/tutorials/plugin/exec_env/index.rst +0 -44
  406. sierra-research-1.3.6/docs/src/tutorials/plugin/exec_env/plugin.rst +0 -74
  407. sierra-research-1.3.6/docs/src/tutorials/plugin/platform/cmdline.rst +0 -77
  408. sierra-research-1.3.6/docs/src/tutorials/plugin/platform/generators.rst +0 -63
  409. sierra-research-1.3.6/docs/src/tutorials/plugin/platform/index.rst +0 -52
  410. sierra-research-1.3.6/docs/src/tutorials/plugin/platform/plugin.rst +0 -226
  411. sierra-research-1.3.6/docs/src/tutorials/plugin/storage/index.rst +0 -30
  412. sierra-research-1.3.6/docs/src/tutorials/project/cmdline.rst +0 -115
  413. sierra-research-1.3.6/docs/src/tutorials/project/generators.rst +0 -88
  414. sierra-research-1.3.6/docs/src/tutorials/project/graphs_config.rst +0 -218
  415. sierra-research-1.3.6/docs/src/tutorials/project/hooks.rst +0 -142
  416. sierra-research-1.3.6/docs/src/tutorials/project/main_config/index.rst +0 -23
  417. sierra-research-1.3.6/docs/src/tutorials/project/main_config/perf.rst +0 -29
  418. sierra-research-1.3.6/docs/src/tutorials/project/models.rst +0 -109
  419. sierra-research-1.3.6/docs/src/tutorials/project/project.rst +0 -125
  420. sierra-research-1.3.6/docs/src/tutorials/project/stage5_config.rst +0 -135
  421. sierra-research-1.3.6/docs/src/tutorials/project/template_input_file.rst +0 -269
  422. sierra-research-1.3.6/docs/src/usage/cli-argos.rst +0 -17
  423. sierra-research-1.3.6/docs/src/usage/cli-core.rst +0 -44
  424. sierra-research-1.3.6/docs/src/usage/cli-ros1gazebo.rst +0 -17
  425. sierra-research-1.3.6/docs/src/usage/cli-ros1robot.rst +0 -17
  426. sierra-research-1.3.6/docs/src/usage/cli.rst +0 -31
  427. sierra-research-1.3.6/docs/src/usage/environment.rst +0 -107
  428. sierra-research-1.3.6/docs/src/usage/index.rst +0 -28
  429. sierra-research-1.3.6/docs/src/usage/pipeline.rst +0 -114
  430. sierra-research-1.3.6/docs/src/usage/rendering.rst +0 -146
  431. sierra-research-1.3.6/docs/src/usage/run_time_tree.rst +0 -217
  432. sierra-research-1.3.6/docs/src/usage/stage5.rst +0 -75
  433. sierra-research-1.3.6/docs/src/usage/variables.rst +0 -54
  434. sierra-research-1.3.6/noxfile.py +0 -156
  435. sierra-research-1.3.6/scripts/argos-integration-tests.sh +0 -830
  436. sierra-research-1.3.6/scripts/core-integration-tests.sh +0 -159
  437. sierra-research-1.3.6/scripts/ros1gazebo-integration-tests.sh +0 -274
  438. sierra-research-1.3.6/scripts/ros1robot-integration-tests.sh +0 -134
  439. sierra-research-1.3.6/setup.cfg +0 -4
  440. sierra-research-1.3.6/setup.py +0 -141
  441. sierra-research-1.3.6/sierra/core/cmdline.py +0 -1195
  442. sierra-research-1.3.6/sierra/core/config.py +0 -172
  443. sierra-research-1.3.6/sierra/core/experiment/definition.py +0 -355
  444. sierra-research-1.3.6/sierra/core/experiment/spec.py +0 -194
  445. sierra-research-1.3.6/sierra/core/experiment/xml.py +0 -454
  446. sierra-research-1.3.6/sierra/core/generators/__init__.py +0 -0
  447. sierra-research-1.3.6/sierra/core/generators/controller_generator_parser.py +0 -34
  448. sierra-research-1.3.6/sierra/core/generators/exp_creator.py +0 -351
  449. sierra-research-1.3.6/sierra/core/generators/exp_generators.py +0 -142
  450. sierra-research-1.3.6/sierra/core/generators/generator_factory.py +0 -229
  451. sierra-research-1.3.6/sierra/core/graphs/__init__.py +0 -0
  452. sierra-research-1.3.6/sierra/core/graphs/heatmap.py +0 -356
  453. sierra-research-1.3.6/sierra/core/graphs/scatterplot2D.py +0 -109
  454. sierra-research-1.3.6/sierra/core/graphs/stacked_line_graph.py +0 -249
  455. sierra-research-1.3.6/sierra/core/graphs/stacked_surface_graph.py +0 -220
  456. sierra-research-1.3.6/sierra/core/graphs/summary_line_graph.py +0 -369
  457. sierra-research-1.3.6/sierra/core/hpc/cmdline.py +0 -142
  458. sierra-research-1.3.6/sierra/core/models/__init__.py +0 -9
  459. sierra-research-1.3.6/sierra/core/models/graphs.py +0 -87
  460. sierra-research-1.3.6/sierra/core/models/interface.py +0 -200
  461. sierra-research-1.3.6/sierra/core/pipeline/__init__.py +0 -8
  462. sierra-research-1.3.6/sierra/core/pipeline/pipeline.py +0 -192
  463. sierra-research-1.3.6/sierra/core/pipeline/stage1/__init__.py +0 -0
  464. sierra-research-1.3.6/sierra/core/pipeline/stage2/__init__.py +0 -0
  465. sierra-research-1.3.6/sierra/core/pipeline/stage2/exp_runner.py +0 -286
  466. sierra-research-1.3.6/sierra/core/pipeline/stage3/__init__.py +0 -0
  467. sierra-research-1.3.6/sierra/core/pipeline/stage3/imagizer.py +0 -149
  468. sierra-research-1.3.6/sierra/core/pipeline/stage3/pipeline_stage3.py +0 -118
  469. sierra-research-1.3.6/sierra/core/pipeline/stage3/run_collator.py +0 -317
  470. sierra-research-1.3.6/sierra/core/pipeline/stage3/statistics_calculator.py +0 -478
  471. sierra-research-1.3.6/sierra/core/pipeline/stage4/__init__.py +0 -2
  472. sierra-research-1.3.6/sierra/core/pipeline/stage4/graph_collator.py +0 -319
  473. sierra-research-1.3.6/sierra/core/pipeline/stage4/inter_exp_graph_generator.py +0 -240
  474. sierra-research-1.3.6/sierra/core/pipeline/stage4/intra_exp_graph_generator.py +0 -317
  475. sierra-research-1.3.6/sierra/core/pipeline/stage4/model_runner.py +0 -168
  476. sierra-research-1.3.6/sierra/core/pipeline/stage4/pipeline_stage4.py +0 -411
  477. sierra-research-1.3.6/sierra/core/pipeline/stage4/rendering.py +0 -283
  478. sierra-research-1.3.6/sierra/core/pipeline/stage4/yaml_config_loader.py +0 -103
  479. sierra-research-1.3.6/sierra/core/pipeline/stage5/__init__.py +0 -0
  480. sierra-research-1.3.6/sierra/core/pipeline/stage5/inter_scenario_comparator.py +0 -328
  481. sierra-research-1.3.6/sierra/core/pipeline/stage5/intra_scenario_comparator.py +0 -989
  482. sierra-research-1.3.6/sierra/core/pipeline/stage5/pipeline_stage5.py +0 -237
  483. sierra-research-1.3.6/sierra/core/platform.py +0 -493
  484. sierra-research-1.3.6/sierra/core/plugin.py +0 -112
  485. sierra-research-1.3.6/sierra/core/plugin_manager.py +0 -369
  486. sierra-research-1.3.6/sierra/core/root_dirpath_generator.py +0 -241
  487. sierra-research-1.3.6/sierra/core/ros1/__init__.py +0 -10
  488. sierra-research-1.3.6/sierra/core/ros1/callbacks.py +0 -45
  489. sierra-research-1.3.6/sierra/core/ros1/cmdline.py +0 -125
  490. sierra-research-1.3.6/sierra/core/ros1/generators.py +0 -214
  491. sierra-research-1.3.6/sierra/core/ros1/variables/exp_setup.py +0 -188
  492. sierra-research-1.3.6/sierra/core/startup.py +0 -153
  493. sierra-research-1.3.6/sierra/core/storage.py +0 -56
  494. sierra-research-1.3.6/sierra/core/types.py +0 -87
  495. sierra-research-1.3.6/sierra/core/variables/base_variable.py +0 -57
  496. sierra-research-1.3.6/sierra/core/variables/batch_criteria.py +0 -726
  497. sierra-research-1.3.6/sierra/core/variables/exp_setup.py +0 -69
  498. sierra-research-1.3.6/sierra/core/variables/population_size.py +0 -124
  499. sierra-research-1.3.6/sierra/core/variables/variable_density.py +0 -112
  500. sierra-research-1.3.6/sierra/main.py +0 -170
  501. sierra-research-1.3.6/sierra/plugins/__init__.py +0 -9
  502. sierra-research-1.3.6/sierra/plugins/hpc/__init__.py +0 -9
  503. sierra-research-1.3.6/sierra/plugins/hpc/adhoc/__init__.py +0 -9
  504. sierra-research-1.3.6/sierra/plugins/hpc/adhoc/plugin.py +0 -125
  505. sierra-research-1.3.6/sierra/plugins/hpc/local/__init__.py +0 -9
  506. sierra-research-1.3.6/sierra/plugins/hpc/local/plugin.py +0 -81
  507. sierra-research-1.3.6/sierra/plugins/hpc/pbs/__init__.py +0 -9
  508. sierra-research-1.3.6/sierra/plugins/hpc/pbs/plugin.py +0 -126
  509. sierra-research-1.3.6/sierra/plugins/hpc/slurm/__init__.py +0 -9
  510. sierra-research-1.3.6/sierra/plugins/hpc/slurm/plugin.py +0 -130
  511. sierra-research-1.3.6/sierra/plugins/platform/__init__.py +0 -9
  512. sierra-research-1.3.6/sierra/plugins/platform/argos/__init__.py +0 -9
  513. sierra-research-1.3.6/sierra/plugins/platform/argos/generators/platform_generators.py +0 -383
  514. sierra-research-1.3.6/sierra/plugins/platform/argos/plugin.py +0 -337
  515. sierra-research-1.3.6/sierra/plugins/platform/argos/variables/arena_shape.py +0 -145
  516. sierra-research-1.3.6/sierra/plugins/platform/argos/variables/cameras.py +0 -243
  517. sierra-research-1.3.6/sierra/plugins/platform/argos/variables/constant_density.py +0 -136
  518. sierra-research-1.3.6/sierra/plugins/platform/argos/variables/exp_setup.py +0 -113
  519. sierra-research-1.3.6/sierra/plugins/platform/argos/variables/population_constant_density.py +0 -175
  520. sierra-research-1.3.6/sierra/plugins/platform/argos/variables/population_size.py +0 -102
  521. sierra-research-1.3.6/sierra/plugins/platform/argos/variables/population_variable_density.py +0 -132
  522. sierra-research-1.3.6/sierra/plugins/platform/argos/variables/rendering.py +0 -104
  523. sierra-research-1.3.6/sierra/plugins/platform/ros1gazebo/__init__.py +0 -9
  524. sierra-research-1.3.6/sierra/plugins/platform/ros1gazebo/cmdline.py +0 -213
  525. sierra-research-1.3.6/sierra/plugins/platform/ros1gazebo/generators/platform_generators.py +0 -137
  526. sierra-research-1.3.6/sierra/plugins/platform/ros1gazebo/plugin.py +0 -335
  527. sierra-research-1.3.6/sierra/plugins/platform/ros1gazebo/variables/__init__.py +0 -10
  528. sierra-research-1.3.6/sierra/plugins/platform/ros1gazebo/variables/population_size.py +0 -204
  529. sierra-research-1.3.6/sierra/plugins/platform/ros1robot/__init__.py +0 -9
  530. sierra-research-1.3.6/sierra/plugins/platform/ros1robot/cmdline.py +0 -175
  531. sierra-research-1.3.6/sierra/plugins/platform/ros1robot/generators/__init__.py +0 -9
  532. sierra-research-1.3.6/sierra/plugins/platform/ros1robot/generators/platform_generators.py +0 -112
  533. sierra-research-1.3.6/sierra/plugins/platform/ros1robot/plugin.py +0 -373
  534. sierra-research-1.3.6/sierra/plugins/platform/ros1robot/variables/__init__.py +0 -10
  535. sierra-research-1.3.6/sierra/plugins/platform/ros1robot/variables/population_size.py +0 -146
  536. sierra-research-1.3.6/sierra/plugins/robot/__init__.py +0 -9
  537. sierra-research-1.3.6/sierra/plugins/robot/turtlebot3/__init__.py +0 -9
  538. sierra-research-1.3.6/sierra/plugins/robot/turtlebot3/plugin.py +0 -194
  539. sierra-research-1.3.6/sierra/plugins/storage/__init__.py +0 -9
  540. sierra-research-1.3.6/sierra/plugins/storage/csv/__init__.py +0 -9
  541. sierra-research-1.3.6/sierra_research.egg-info/PKG-INFO +0 -501
  542. sierra-research-1.3.6/sierra_research.egg-info/SOURCES.txt +0 -243
  543. sierra-research-1.3.6/sierra_research.egg-info/dependency_links.txt +0 -1
  544. sierra-research-1.3.6/sierra_research.egg-info/entry_points.txt +0 -2
  545. sierra-research-1.3.6/sierra_research.egg-info/requires.txt +0 -40
  546. sierra-research-1.3.6/sierra_research.egg-info/top_level.txt +0 -1
  547. sierra-research-1.3.6/tests/exp_def_test.py +0 -97
  548. {sierra-research-1.3.6 → sierra_research-1.5.0}/LICENSE +0 -0
  549. {sierra-research-1.3.6 → sierra_research-1.5.0}/docs/man/sierra-examples.rst +0 -0
  550. {sierra-research-1.3.6 → sierra_research-1.5.0}/docs/man/sierra-glossary.rst +0 -0
  551. /sierra-research-1.3.6/tests/test1.xml → /sierra_research-1.5.0/tests/unit_tests/expdef/f1.xml +0 -0
@@ -10,6 +10,11 @@ exclude_lines =
10
10
  raise NotImplementedError
11
11
 
12
12
  [run]
13
+ relative_files = True
14
+ source =
15
+ sierra
16
+ /__w/sierra/sierra
17
+ /home/runner/work/sierra/sierra
13
18
 
14
19
  concurrency = multiprocessing
15
20
  parallel = true
@@ -21,3 +26,6 @@ omit =
21
26
  /usr/*
22
27
 
23
28
  */docs/*
29
+
30
+ noxfile.py
31
+ */sierra-cli
@@ -0,0 +1,40 @@
1
+ ;;; Directory Local Variables
2
+ ;;; For more information see (info "(emacs) Directory Variables")
3
+
4
+ ((nil .
5
+ ((eval progn
6
+ (require 'editing-init)
7
+ (add-to-list 'projectile-globally-ignored-directories "docs/_build/")
8
+ (add-to-list 'projectile-globally-ignored-directories "docs/autoapi")
9
+ (add-to-list 'projectile-globally-ignored-directories "sierra.egg-info/")
10
+ (add-to-list 'projectile-globally-ignored-directories "dist/")
11
+ (add-to-list 'projectile-globally-ignored-directories ".pytype/")
12
+ (add-to-list 'projectile-globally-ignored-directories ".mypy_cache/")
13
+ (add-to-list 'projectile-globally-ignored-directories ".ruff_cache/")
14
+ (add-to-list 'projectile-globally-ignored-directories ".pytest_cache/")
15
+ (add-to-list 'projectile-globally-ignored-directories "__pycache__")
16
+ (add-to-list 'projectile-globally-ignored-directories ".nox/")
17
+ (add-to-list 'projectile-globally-ignored-directories ".venv/")
18
+ (add-to-list 'projectile-globally-ignored-file-suffixes "*.html")
19
+ (add-to-list 'projectile-globally-ignored-file-suffixes "*.pickle")
20
+ (add-to-list 'projectile-globally-ignored-file-suffixes "*.pkl")
21
+ (add-to-list 'projectile-globally-ignored-file-suffixes "*.png")
22
+ (add-to-list 'projectile-globally-ignored-file-suffixes "*.doctree")
23
+ (add-to-list 'grep-find-ignored-directories "docs/_build/")
24
+ (add-to-list 'grep-find-ignored-directories "sierra.egg-info/")
25
+ (add-to-list 'grep-find-ignored-directories "dist/")
26
+ (add-to-list 'grep-find-ignored-files "*.html")
27
+ (add-to-list 'grep-find-ignored-files "*.css")
28
+ (add-to-list 'grep-find-ignored-files "*.txt")
29
+ (add-to-list 'grep-find-ignored-files "*.png")
30
+ (add-to-list 'grep-find-ignored-files "*.doctree")
31
+ (add-to-list 'grep-find-ignored-files "*.pickle")
32
+ )))
33
+
34
+ (python-mode .
35
+ ((eval . (blacken-mode 1)))
36
+ )
37
+ )
38
+
39
+
40
+ ;;; end of .dir-locals.el
@@ -0,0 +1,169 @@
1
+ name: 'Setup SIERRA sample project'
2
+ description: 'Setup SIERRA project for CI and testing'
3
+ inputs:
4
+ engine: # id of input
5
+ description: 'The SIERRA engine to setup for'
6
+ required: true
7
+ rosdistro:
8
+ description: 'The version of ROS to test with'
9
+ default: 'noetic'
10
+
11
+ runs:
12
+ using: 'composite'
13
+ steps:
14
+ ############################################################################
15
+ # Common setup
16
+ ############################################################################
17
+ - name: Get branch for sample project
18
+ shell: bash
19
+ run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
20
+ id: extract_branch
21
+
22
+ - name: Clone sample project
23
+ shell: bash
24
+ working-directory: ${{ github.workspace }} # Needed to match with scripts/argos-integration-tests.sh
25
+
26
+ run: |
27
+ if [ ! -d sierra-sample-project ]; then
28
+ git clone https://github.com/jharwell/sierra-sample-project.git
29
+ cd sierra-sample-project
30
+ else
31
+ cd sierra-sample-project
32
+ git pull
33
+ fi
34
+ echo "Sample project cloned into $(pwd)"
35
+
36
+ # The master rbranch of SIERRA/sample project are always kept in
37
+ # sync. Otherwise, all flowdown changes for whatever I'm doing in SIERRA
38
+ # will end up on the devel branch in the sample project repo.
39
+ if [ ${{ steps.extract_branch.outputs.branch}} == "master" ]; then
40
+ git checkout master
41
+ else
42
+ git checkout devel
43
+ fi
44
+
45
+ - name: Get number of CPU cores
46
+ uses: SimenB/github-actions-cpu-cores@v1
47
+ id: cpu-cores
48
+
49
+ - uses: kenchan0130/actions-system-info@master
50
+ id: system-info
51
+
52
+ - name: Cache build files
53
+ uses: hendrikmuhs/ccache-action@v1.2
54
+ with:
55
+ key: ${{ runner.os }}-${{ steps.system-info.outputs.release }}-build-objects
56
+ verbose: 0
57
+
58
+ ############################################################################
59
+ # ARGoS setup
60
+ ############################################################################
61
+ - uses: nick-fields/retry@v3
62
+ name: Install ARGoS deps (OSX)
63
+ if: runner.os == 'macOS'
64
+ with:
65
+ timeout_minutes: 10000
66
+ max_attempts: 3
67
+ shell: bash
68
+ command: |
69
+ # 2023/01/16: Caching doesn't work reliably, for reasons unknown :-(.
70
+ #
71
+ # The {xquartz, mactex, qt} deps are not required as long as the ARGoS
72
+ # integration tests for OSX don't run stage 4+ or try to do video
73
+ # capture. Installing them takes ~30 min in github actions, so cutting
74
+ # this particular corner saves a TON of time.
75
+ #
76
+ # Note that by omitting Xquartz you MUST also omit Qt, otherwise CI
77
+ # fails (I think ARGoS segfaults).
78
+ brew install pkg-config cmake libpng freeimage lua
79
+
80
+
81
+ - name: Re-setup python (OSX)
82
+ if: runner.os == 'macOS'
83
+ uses: astral-sh/setup-uv@v5
84
+ with:
85
+ python-version: ${{ matrix.python-version }}
86
+
87
+ - name: Install ARGoS
88
+ if: runner.os == 'macOS' && inputs.engine == 'argos'
89
+ shell: bash
90
+ run: |
91
+ git clone https://github.com/ilpincy/argos3.git
92
+ cd argos3
93
+
94
+ mkdir -p build && cd build
95
+ cmake \
96
+ -DCMAKE_C_COMPILER_LAUNCHER=ccache \
97
+ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
98
+ -DARGOS_DOCUMENTATION=OFF \
99
+ ../src
100
+ make -j ${{ steps.cpu-cores.outputs.count }}
101
+ if command -v "sudo" &> /dev/null; then
102
+ sudo make install
103
+ else
104
+ make install
105
+ fi
106
+ cd ../../
107
+ rm -rf argos3
108
+
109
+ - name: Build SIERRA project for ARGoS
110
+ if: inputs.engine == 'argos'
111
+ shell: bash
112
+ working-directory: ${{ github.workspace }}
113
+
114
+ run: |
115
+ cd sierra-sample-project/argos
116
+ mkdir -p build && cd build
117
+ cmake \
118
+ -DCMAKE_C_COMPILER_LAUNCHER=ccache \
119
+ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
120
+ -DARGOS_INSTALL_DIR=/usr/local \
121
+ ..
122
+ make -j ${{ steps.cpu-cores.outputs.count }}
123
+
124
+ ############################################################################
125
+ # ROS1+Gazebo setup
126
+ ############################################################################
127
+ - name: Install SIERRA ROSBridge dependency (ubuntu)
128
+ if: inputs.engine == 'ros1gazebo'
129
+ shell: bash
130
+ run: |
131
+ source /opt/ros/${{ inputs.rosdistro }}/setup.bash
132
+
133
+
134
+ pip3 install pysip \
135
+ numpy \
136
+ matplotlib \
137
+ pyyaml \
138
+ psutil \
139
+ defusedxml \
140
+ pyparsing \
141
+ pydev \
142
+ pyopengl \
143
+ opencv-python \
144
+ catkin_tools \
145
+ rospkg \
146
+ empy
147
+
148
+ git clone https://github.com/jharwell/sierra_rosbridge.git
149
+ cd sierra_rosbridge
150
+ git checkout devel
151
+ catkin init
152
+ catkin config --extend /opt/ros/${{ inputs.rosdistro }}
153
+ catkin config --install -DCMAKE_INSTALL_PREFIX=$HOME/.local
154
+ catkin build
155
+ cd ..
156
+ rm -rf sierra_rosbridge
157
+
158
+
159
+ ############################################################################
160
+ # ROS1+Robot setup
161
+ ############################################################################
162
+
163
+ # None needed for the moment--stage 1 XML generation only.
164
+
165
+ ############################################################################
166
+ # JSONSim setup
167
+ ############################################################################
168
+
169
+ # None needed for the moment
@@ -0,0 +1,29 @@
1
+ name: Analysis Top-level
2
+
3
+ # Run:
4
+ #
5
+ # - Every month. Scheduling helps keep drift/issues with updates
6
+ # to runners at bay.
7
+ # - On pushes.
8
+ on:
9
+ push:
10
+ paths:
11
+ - 'sierra/**'
12
+ - '.github/**'
13
+
14
+ schedule:
15
+ - cron: '0 0 1 * *'
16
+
17
+ concurrency:
18
+ group: ${{ github.workflow }}-${{ github.ref }}
19
+ cancel-in-progress: true
20
+
21
+ jobs:
22
+ analyze-ci-ubuntu-2404:
23
+ uses: ./.github/workflows/analyze-nox.yml
24
+ secrets: inherit
25
+ with:
26
+ container: jharwell/ubuntu24.04-sierra:latest
27
+
28
+ # 2025-09-02 [JRH]: Static analysis is pretty much always the same across
29
+ # OSes, so testing on e.g. OSX here adds minimal confidence.
@@ -0,0 +1,35 @@
1
+ name: OS Static Analysis
2
+
3
+ on:
4
+ workflow_call:
5
+ inputs:
6
+ container:
7
+ required: True
8
+ type: string
9
+
10
+ jobs:
11
+ nox:
12
+ runs-on: ubuntu-latest
13
+ container: ${{ inputs.container }}
14
+ strategy:
15
+ matrix:
16
+ # 2024/08/26: Test the earliest and latest supported version, to speed
17
+ # up CI. Well, that's what it should do, but linting doesn't work for >
18
+ # 3.10 (see pyproject.toml for details).
19
+ python-version:
20
+ - "3.10"
21
+
22
+ session:
23
+ - lint
24
+ - docs
25
+ - analyze_pytype
26
+ - analyze_mypy
27
+
28
+ steps:
29
+ - uses: actions/checkout@v3
30
+ - name: Run nox
31
+ run: |
32
+ uv sync -p ${{ matrix.python-version }} --group dev && \
33
+ uv run -p ${{ matrix.python-version }} nox \
34
+ --pythons ${{ matrix.python-version }} \
35
+ --sessions ${{ matrix.session }}
@@ -0,0 +1,51 @@
1
+ name: SIERRA Core CI
2
+
3
+ on:
4
+ workflow_call:
5
+
6
+ jobs:
7
+ plumbing:
8
+ runs-on: ubuntu-latest
9
+ container: ${{ matrix.container }}
10
+ strategy:
11
+ matrix:
12
+ container:
13
+ - jharwell/ubuntu24.04-sierra:latest
14
+
15
+ # 2024/08/26: Test the earliest and latest supported version, to speed
16
+ # up CI.
17
+ python-version:
18
+ - "3.10"
19
+ - 3.12
20
+
21
+ session:
22
+ - core_cmdline_opts
23
+ - core_env_vars
24
+ - core_builtin_bc
25
+ - core_parallelism
26
+ - core_stage1_bivar
27
+ - core_stage2_bivar
28
+ - core_stage3_bivar
29
+ - core_stage4_bivar
30
+ - core_stage5_univar
31
+ - core_stage5_bivar
32
+
33
+ steps:
34
+ - uses: actions/checkout@v3
35
+ - uses: ./.github/actions/sample-project-setup
36
+ with:
37
+ engine: argos
38
+
39
+ - uses: nick-fields/retry@v3
40
+ with:
41
+ timeout_minutes: 30
42
+ max_attempts: 3
43
+ shell: bash
44
+ command: uv run nox -p ${{ matrix.python-version }} -s ${{ matrix.session }}
45
+
46
+ - uses: actions/upload-artifact@v4
47
+ with:
48
+ name: ci-core-${{ matrix.session }}-${{ matrix.os }}-${{ matrix.python-version }}-coverage
49
+ path: .coverage.*
50
+ include-hidden-files: true
51
+ if-no-files-found: error
@@ -0,0 +1,175 @@
1
+ name: Smoke Coverage Top-level
2
+
3
+ # Run:
4
+ #
5
+ # - Every month. Scheduling helps keep drift/issues with updates
6
+ # to runners at bay.
7
+ # - On pushes.
8
+ #
9
+ on:
10
+ push:
11
+ paths:
12
+ - 'sierra/**'
13
+ - '.github/**'
14
+
15
+ schedule:
16
+ - cron: '0 0 1 * *'
17
+
18
+
19
+ concurrency:
20
+ group: ${{ github.workflow }}-${{ github.ref }}
21
+ cancel-in-progress: true
22
+
23
+ jobs:
24
+ # 2024/08/27: We don't test the core with OSX, because if it works on linux,
25
+ # it should work on OSX. Plus, the plugin tests utilize a lot of "core"
26
+ # functionality, it the core is already largely tested on OSX via that
27
+ # route. Plugins are another story, and are explicitly tested on OSX where
28
+ # feasible.
29
+ core-smoke-tests:
30
+ uses: ./.github/workflows/core.yml
31
+ secrets: inherit
32
+
33
+ plugin-smoke-tests:
34
+ uses: ./.github/workflows/plugin.yml
35
+ secrets: inherit
36
+
37
+ unit-tests:
38
+ uses: ./.github/workflows/unit-tests.yml
39
+ secrets: inherit
40
+
41
+ coverage-smoke:
42
+ runs-on: ubuntu-latest
43
+
44
+ needs:
45
+ - core-smoke-tests
46
+ - plugin-smoke-tests
47
+ - unit-tests
48
+
49
+ steps:
50
+ - uses: actions/checkout@v3
51
+ - uses: actions/download-artifact@v4
52
+
53
+ - name: Install uv
54
+ uses: astral-sh/setup-uv@v6
55
+
56
+ - name: Generate coverage report
57
+ shell: bash
58
+ run: |
59
+ # ls -al . || true
60
+ # ls -al ci-*-Linux-${{ matrix.python-version }}-coverage/.* || true
61
+ # ls -al ci-*-Linux-${{ matrix.python-version }}-coverage/* || true
62
+ # find . -name "ci-*-Linux-${{ matrix.python-version }}-coverage*"
63
+
64
+ # This is necessary for coverage since we run all integration tests in
65
+ # nox, otherwise coverage can't find e.g., the sierra-cli executable
66
+ # and we can't upload coverage.
67
+ uv sync -p 3.9 --group dev
68
+ source .venv/bin/activate
69
+
70
+ which sierra-cli
71
+ sierra-cli --version
72
+ which coverage
73
+ which nox
74
+ pwd
75
+
76
+ coverage \
77
+ combine \
78
+ --debug=pathmap \
79
+ $(find . -name "ci-*-coverage*")
80
+
81
+ coverage \
82
+ report \
83
+ --ignore-errors \
84
+ --fail-under=80
85
+
86
+ coverage \
87
+ xml \
88
+ --ignore-errors
89
+
90
+ - uses: actions/upload-artifact@v4
91
+ with:
92
+ name: ci-integration-coverage-xml
93
+ path: coverage.xml
94
+
95
+ - name: Coveralls
96
+ env:
97
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
98
+ COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
99
+
100
+ run: |
101
+ uv run -p 3.9 coveralls
102
+
103
+ create-release:
104
+ runs-on: ubuntu-latest
105
+ needs:
106
+ - coverage-smoke
107
+
108
+ steps:
109
+ - uses: actions/checkout@v3
110
+
111
+ - name: Install uv
112
+ uses: astral-sh/setup-uv@v6
113
+
114
+ - name: Generate manpages
115
+ shell: bash
116
+ run: |
117
+ # 3.10 is known to work with the current configuration to generate
118
+ # docs.
119
+ uv sync -p 3.10 --group dev
120
+
121
+ # Hatch will only pickup manpages with shared-data if they are INSIDE
122
+ # a package directory. Since we don't want to commit this to source
123
+ # control, we copy in in CI here.
124
+ mkdir -p sierra/data/man
125
+
126
+ # 3.10 is known to work with the current configuration to generate
127
+ # docs.
128
+ cd docs && uv run -p 3.10 sphinx-build -b man . _build/man
129
+ cd ..
130
+ cp docs/_build/man/*.1 sierra/data/man/
131
+ cp docs/_build/man/*.7 sierra/data/man/
132
+
133
+ # Build the package and verify manpages were included
134
+ uv build && python3 -m zipfile -l dist/sierra_research-*.whl |grep man
135
+
136
+ - name: Set beta release tag
137
+ if: github.ref == 'refs/heads/devel'
138
+ shell: bash
139
+ run: |
140
+ uv sync --group ci
141
+ echo RELEASE_TAG=$(uv run pyproject-info project.version | tr -d '"').beta >> $GITHUB_ENV
142
+
143
+ - name: Github beta release
144
+ if: github.ref == 'refs/heads/devel'
145
+ uses: "marvinpinto/action-automatic-releases@latest"
146
+ with:
147
+ repo_token: ${{ secrets.BOT_RELEASE_TOKEN }}
148
+ automatic_release_tag: ${{ env.RELEASE_TAG }}
149
+ prerelease: true
150
+ title: "Development release ${{ env.RELEASE_TAG }}"
151
+
152
+ - name: Set release tag
153
+ if: github.ref == 'refs/heads/master'
154
+ shell: bash
155
+ run: |
156
+ uv sync --group ci
157
+ echo RELEASE_TAG=$(uv run pyproject-info project.version | tr -d '"') >> $GITHUB_ENV
158
+
159
+ - name: Github release
160
+ if: github.ref == 'refs/heads/master'
161
+ uses: "marvinpinto/action-automatic-releases@latest"
162
+ with:
163
+ # 2025-04-29 [JRH]: This is NOT the usual secrets.GITHUB_TOKEN because
164
+ # as of now, you can't trigger a workflow (such as the publish
165
+ # workflow) with the same token that THIS workflow was triggered with,
166
+ # because...reasons.
167
+ #
168
+ # The workaround is to create a fine-grained token for my account,
169
+ # give it permissions only for the SIERRA repo, and set it as a CI
170
+ # secret. THEN the publish workflow will be triggered on successful
171
+ # release publishing.
172
+ repo_token: ${{ secrets.BOT_RELEASE_TOKEN }}
173
+ automatic_release_tag: ${{ env.RELEASE_TAG }}
174
+ prerelease: false
175
+ title: "Release ${{ env.RELEASE_TAG }}"