sierra-research 1.3.11__py3-none-any.whl → 1.5.0__py3-none-any.whl

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 (254) hide show
  1. sierra/__init__.py +3 -3
  2. sierra/core/__init__.py +3 -3
  3. sierra/core/batchroot.py +223 -0
  4. sierra/core/cmdline.py +681 -1057
  5. sierra/core/compare.py +11 -0
  6. sierra/core/config.py +96 -88
  7. sierra/core/engine.py +306 -0
  8. sierra/core/execenv.py +380 -0
  9. sierra/core/expdef.py +11 -0
  10. sierra/core/experiment/__init__.py +1 -0
  11. sierra/core/experiment/bindings.py +150 -101
  12. sierra/core/experiment/definition.py +414 -245
  13. sierra/core/experiment/spec.py +83 -85
  14. sierra/core/exproot.py +44 -0
  15. sierra/core/generators/__init__.py +10 -0
  16. sierra/core/generators/experiment.py +528 -0
  17. sierra/core/generators/generator_factory.py +138 -137
  18. sierra/core/graphs/__init__.py +23 -0
  19. sierra/core/graphs/bcbridge.py +94 -0
  20. sierra/core/graphs/heatmap.py +245 -324
  21. sierra/core/graphs/pathset.py +27 -0
  22. sierra/core/graphs/schema.py +77 -0
  23. sierra/core/graphs/stacked_line.py +341 -0
  24. sierra/core/graphs/summary_line.py +506 -0
  25. sierra/core/logging.py +3 -2
  26. sierra/core/models/__init__.py +3 -1
  27. sierra/core/models/info.py +19 -0
  28. sierra/core/models/interface.py +52 -122
  29. sierra/core/pipeline/__init__.py +2 -5
  30. sierra/core/pipeline/pipeline.py +228 -126
  31. sierra/core/pipeline/stage1/__init__.py +10 -0
  32. sierra/core/pipeline/stage1/pipeline_stage1.py +45 -31
  33. sierra/core/pipeline/stage2/__init__.py +10 -0
  34. sierra/core/pipeline/stage2/pipeline_stage2.py +8 -11
  35. sierra/core/pipeline/stage2/runner.py +401 -0
  36. sierra/core/pipeline/stage3/__init__.py +12 -0
  37. sierra/core/pipeline/stage3/gather.py +321 -0
  38. sierra/core/pipeline/stage3/pipeline_stage3.py +37 -84
  39. sierra/core/pipeline/stage4/__init__.py +12 -2
  40. sierra/core/pipeline/stage4/pipeline_stage4.py +36 -354
  41. sierra/core/pipeline/stage5/__init__.py +12 -0
  42. sierra/core/pipeline/stage5/pipeline_stage5.py +33 -208
  43. sierra/core/pipeline/yaml.py +48 -0
  44. sierra/core/plugin.py +529 -62
  45. sierra/core/proc.py +11 -0
  46. sierra/core/prod.py +11 -0
  47. sierra/core/ros1/__init__.py +5 -1
  48. sierra/core/ros1/callbacks.py +22 -21
  49. sierra/core/ros1/cmdline.py +59 -88
  50. sierra/core/ros1/generators.py +159 -175
  51. sierra/core/ros1/variables/__init__.py +3 -0
  52. sierra/core/ros1/variables/exp_setup.py +122 -116
  53. sierra/core/startup.py +106 -76
  54. sierra/core/stat_kernels.py +4 -5
  55. sierra/core/storage.py +13 -32
  56. sierra/core/trampoline.py +30 -0
  57. sierra/core/types.py +116 -71
  58. sierra/core/utils.py +103 -106
  59. sierra/core/variables/__init__.py +1 -1
  60. sierra/core/variables/base_variable.py +12 -17
  61. sierra/core/variables/batch_criteria.py +387 -481
  62. sierra/core/variables/builtin.py +135 -0
  63. sierra/core/variables/exp_setup.py +19 -39
  64. sierra/core/variables/population_size.py +72 -76
  65. sierra/core/variables/variable_density.py +44 -68
  66. sierra/core/vector.py +1 -1
  67. sierra/main.py +256 -88
  68. sierra/plugins/__init__.py +119 -0
  69. sierra/plugins/compare/__init__.py +14 -0
  70. sierra/plugins/compare/graphs/__init__.py +19 -0
  71. sierra/plugins/compare/graphs/cmdline.py +120 -0
  72. sierra/plugins/compare/graphs/comparator.py +291 -0
  73. sierra/plugins/compare/graphs/inter_controller.py +531 -0
  74. sierra/plugins/compare/graphs/inter_scenario.py +297 -0
  75. sierra/plugins/compare/graphs/namecalc.py +53 -0
  76. sierra/plugins/compare/graphs/outputroot.py +73 -0
  77. sierra/plugins/compare/graphs/plugin.py +147 -0
  78. sierra/plugins/compare/graphs/preprocess.py +172 -0
  79. sierra/plugins/compare/graphs/schema.py +37 -0
  80. sierra/plugins/engine/__init__.py +14 -0
  81. sierra/plugins/engine/argos/__init__.py +18 -0
  82. sierra/plugins/{platform → engine}/argos/cmdline.py +144 -151
  83. sierra/plugins/{platform/argos/variables → engine/argos/generators}/__init__.py +5 -0
  84. sierra/plugins/engine/argos/generators/engine.py +394 -0
  85. sierra/plugins/engine/argos/plugin.py +393 -0
  86. sierra/plugins/{platform/argos/generators → engine/argos/variables}/__init__.py +5 -0
  87. sierra/plugins/engine/argos/variables/arena_shape.py +183 -0
  88. sierra/plugins/engine/argos/variables/cameras.py +240 -0
  89. sierra/plugins/engine/argos/variables/constant_density.py +112 -0
  90. sierra/plugins/engine/argos/variables/exp_setup.py +82 -0
  91. sierra/plugins/{platform → engine}/argos/variables/physics_engines.py +83 -87
  92. sierra/plugins/engine/argos/variables/population_constant_density.py +178 -0
  93. sierra/plugins/engine/argos/variables/population_size.py +115 -0
  94. sierra/plugins/engine/argos/variables/population_variable_density.py +123 -0
  95. sierra/plugins/engine/argos/variables/rendering.py +108 -0
  96. sierra/plugins/engine/ros1gazebo/__init__.py +18 -0
  97. sierra/plugins/engine/ros1gazebo/cmdline.py +175 -0
  98. sierra/plugins/{platform/ros1robot → engine/ros1gazebo}/generators/__init__.py +5 -0
  99. sierra/plugins/engine/ros1gazebo/generators/engine.py +125 -0
  100. sierra/plugins/engine/ros1gazebo/plugin.py +404 -0
  101. sierra/plugins/engine/ros1gazebo/variables/__init__.py +15 -0
  102. sierra/plugins/engine/ros1gazebo/variables/population_size.py +214 -0
  103. sierra/plugins/engine/ros1robot/__init__.py +18 -0
  104. sierra/plugins/engine/ros1robot/cmdline.py +159 -0
  105. sierra/plugins/{platform/ros1gazebo → engine/ros1robot}/generators/__init__.py +4 -0
  106. sierra/plugins/engine/ros1robot/generators/engine.py +95 -0
  107. sierra/plugins/engine/ros1robot/plugin.py +410 -0
  108. sierra/plugins/{hpc/local → engine/ros1robot/variables}/__init__.py +5 -0
  109. sierra/plugins/engine/ros1robot/variables/population_size.py +146 -0
  110. sierra/plugins/execenv/__init__.py +11 -0
  111. sierra/plugins/execenv/hpc/__init__.py +18 -0
  112. sierra/plugins/execenv/hpc/adhoc/__init__.py +18 -0
  113. sierra/plugins/execenv/hpc/adhoc/cmdline.py +30 -0
  114. sierra/plugins/execenv/hpc/adhoc/plugin.py +131 -0
  115. sierra/plugins/execenv/hpc/cmdline.py +137 -0
  116. sierra/plugins/execenv/hpc/local/__init__.py +18 -0
  117. sierra/plugins/execenv/hpc/local/cmdline.py +31 -0
  118. sierra/plugins/execenv/hpc/local/plugin.py +145 -0
  119. sierra/plugins/execenv/hpc/pbs/__init__.py +18 -0
  120. sierra/plugins/execenv/hpc/pbs/cmdline.py +30 -0
  121. sierra/plugins/execenv/hpc/pbs/plugin.py +121 -0
  122. sierra/plugins/execenv/hpc/slurm/__init__.py +18 -0
  123. sierra/plugins/execenv/hpc/slurm/cmdline.py +30 -0
  124. sierra/plugins/execenv/hpc/slurm/plugin.py +133 -0
  125. sierra/plugins/execenv/prefectserver/__init__.py +18 -0
  126. sierra/plugins/execenv/prefectserver/cmdline.py +66 -0
  127. sierra/plugins/execenv/prefectserver/dockerremote/__init__.py +18 -0
  128. sierra/plugins/execenv/prefectserver/dockerremote/cmdline.py +66 -0
  129. sierra/plugins/execenv/prefectserver/dockerremote/plugin.py +132 -0
  130. sierra/plugins/execenv/prefectserver/flow.py +66 -0
  131. sierra/plugins/execenv/prefectserver/local/__init__.py +18 -0
  132. sierra/plugins/execenv/prefectserver/local/cmdline.py +29 -0
  133. sierra/plugins/execenv/prefectserver/local/plugin.py +133 -0
  134. sierra/plugins/{hpc/adhoc → execenv/robot}/__init__.py +1 -0
  135. sierra/plugins/execenv/robot/turtlebot3/__init__.py +18 -0
  136. sierra/plugins/execenv/robot/turtlebot3/plugin.py +204 -0
  137. sierra/plugins/expdef/__init__.py +14 -0
  138. sierra/plugins/expdef/json/__init__.py +14 -0
  139. sierra/plugins/expdef/json/plugin.py +504 -0
  140. sierra/plugins/expdef/xml/__init__.py +14 -0
  141. sierra/plugins/expdef/xml/plugin.py +386 -0
  142. sierra/{core/hpc → plugins/proc}/__init__.py +1 -1
  143. sierra/plugins/proc/collate/__init__.py +15 -0
  144. sierra/plugins/proc/collate/cmdline.py +47 -0
  145. sierra/plugins/proc/collate/plugin.py +271 -0
  146. sierra/plugins/proc/compress/__init__.py +18 -0
  147. sierra/plugins/proc/compress/cmdline.py +47 -0
  148. sierra/plugins/proc/compress/plugin.py +123 -0
  149. sierra/plugins/proc/decompress/__init__.py +18 -0
  150. sierra/plugins/proc/decompress/plugin.py +96 -0
  151. sierra/plugins/proc/imagize/__init__.py +15 -0
  152. sierra/plugins/proc/imagize/cmdline.py +49 -0
  153. sierra/plugins/proc/imagize/plugin.py +270 -0
  154. sierra/plugins/proc/modelrunner/__init__.py +16 -0
  155. sierra/plugins/proc/modelrunner/plugin.py +250 -0
  156. sierra/plugins/proc/statistics/__init__.py +15 -0
  157. sierra/plugins/proc/statistics/cmdline.py +64 -0
  158. sierra/plugins/proc/statistics/plugin.py +390 -0
  159. sierra/plugins/{hpc → prod}/__init__.py +1 -0
  160. sierra/plugins/prod/graphs/__init__.py +18 -0
  161. sierra/plugins/prod/graphs/cmdline.py +269 -0
  162. sierra/plugins/prod/graphs/collate.py +279 -0
  163. sierra/plugins/prod/graphs/inter/__init__.py +13 -0
  164. sierra/plugins/prod/graphs/inter/generate.py +83 -0
  165. sierra/plugins/prod/graphs/inter/heatmap.py +86 -0
  166. sierra/plugins/prod/graphs/inter/line.py +134 -0
  167. sierra/plugins/prod/graphs/intra/__init__.py +15 -0
  168. sierra/plugins/prod/graphs/intra/generate.py +202 -0
  169. sierra/plugins/prod/graphs/intra/heatmap.py +74 -0
  170. sierra/plugins/prod/graphs/intra/line.py +114 -0
  171. sierra/plugins/prod/graphs/plugin.py +103 -0
  172. sierra/plugins/prod/graphs/targets.py +63 -0
  173. sierra/plugins/prod/render/__init__.py +18 -0
  174. sierra/plugins/prod/render/cmdline.py +72 -0
  175. sierra/plugins/prod/render/plugin.py +282 -0
  176. sierra/plugins/storage/__init__.py +5 -0
  177. sierra/plugins/storage/arrow/__init__.py +18 -0
  178. sierra/plugins/storage/arrow/plugin.py +38 -0
  179. sierra/plugins/storage/csv/__init__.py +9 -0
  180. sierra/plugins/storage/csv/plugin.py +12 -5
  181. sierra/version.py +3 -2
  182. sierra_research-1.5.0.dist-info/METADATA +238 -0
  183. sierra_research-1.5.0.dist-info/RECORD +186 -0
  184. {sierra_research-1.3.11.dist-info → sierra_research-1.5.0.dist-info}/WHEEL +1 -2
  185. sierra/core/experiment/xml.py +0 -454
  186. sierra/core/generators/controller_generator_parser.py +0 -34
  187. sierra/core/generators/exp_creator.py +0 -351
  188. sierra/core/generators/exp_generators.py +0 -142
  189. sierra/core/graphs/scatterplot2D.py +0 -109
  190. sierra/core/graphs/stacked_line_graph.py +0 -251
  191. sierra/core/graphs/stacked_surface_graph.py +0 -220
  192. sierra/core/graphs/summary_line_graph.py +0 -371
  193. sierra/core/hpc/cmdline.py +0 -142
  194. sierra/core/models/graphs.py +0 -87
  195. sierra/core/pipeline/stage2/exp_runner.py +0 -286
  196. sierra/core/pipeline/stage3/imagizer.py +0 -149
  197. sierra/core/pipeline/stage3/run_collator.py +0 -317
  198. sierra/core/pipeline/stage3/statistics_calculator.py +0 -478
  199. sierra/core/pipeline/stage4/graph_collator.py +0 -320
  200. sierra/core/pipeline/stage4/inter_exp_graph_generator.py +0 -240
  201. sierra/core/pipeline/stage4/intra_exp_graph_generator.py +0 -317
  202. sierra/core/pipeline/stage4/model_runner.py +0 -168
  203. sierra/core/pipeline/stage4/rendering.py +0 -283
  204. sierra/core/pipeline/stage4/yaml_config_loader.py +0 -103
  205. sierra/core/pipeline/stage5/inter_scenario_comparator.py +0 -328
  206. sierra/core/pipeline/stage5/intra_scenario_comparator.py +0 -989
  207. sierra/core/platform.py +0 -493
  208. sierra/core/plugin_manager.py +0 -369
  209. sierra/core/root_dirpath_generator.py +0 -241
  210. sierra/plugins/hpc/adhoc/plugin.py +0 -125
  211. sierra/plugins/hpc/local/plugin.py +0 -81
  212. sierra/plugins/hpc/pbs/__init__.py +0 -9
  213. sierra/plugins/hpc/pbs/plugin.py +0 -126
  214. sierra/plugins/hpc/slurm/__init__.py +0 -9
  215. sierra/plugins/hpc/slurm/plugin.py +0 -130
  216. sierra/plugins/platform/__init__.py +0 -9
  217. sierra/plugins/platform/argos/__init__.py +0 -9
  218. sierra/plugins/platform/argos/generators/platform_generators.py +0 -383
  219. sierra/plugins/platform/argos/plugin.py +0 -337
  220. sierra/plugins/platform/argos/variables/arena_shape.py +0 -145
  221. sierra/plugins/platform/argos/variables/cameras.py +0 -243
  222. sierra/plugins/platform/argos/variables/constant_density.py +0 -136
  223. sierra/plugins/platform/argos/variables/exp_setup.py +0 -113
  224. sierra/plugins/platform/argos/variables/population_constant_density.py +0 -175
  225. sierra/plugins/platform/argos/variables/population_size.py +0 -102
  226. sierra/plugins/platform/argos/variables/population_variable_density.py +0 -132
  227. sierra/plugins/platform/argos/variables/rendering.py +0 -104
  228. sierra/plugins/platform/ros1gazebo/__init__.py +0 -9
  229. sierra/plugins/platform/ros1gazebo/cmdline.py +0 -213
  230. sierra/plugins/platform/ros1gazebo/generators/platform_generators.py +0 -137
  231. sierra/plugins/platform/ros1gazebo/plugin.py +0 -335
  232. sierra/plugins/platform/ros1gazebo/variables/__init__.py +0 -10
  233. sierra/plugins/platform/ros1gazebo/variables/population_size.py +0 -204
  234. sierra/plugins/platform/ros1robot/__init__.py +0 -9
  235. sierra/plugins/platform/ros1robot/cmdline.py +0 -175
  236. sierra/plugins/platform/ros1robot/generators/platform_generators.py +0 -112
  237. sierra/plugins/platform/ros1robot/plugin.py +0 -373
  238. sierra/plugins/platform/ros1robot/variables/__init__.py +0 -10
  239. sierra/plugins/platform/ros1robot/variables/population_size.py +0 -146
  240. sierra/plugins/robot/__init__.py +0 -9
  241. sierra/plugins/robot/turtlebot3/__init__.py +0 -9
  242. sierra/plugins/robot/turtlebot3/plugin.py +0 -194
  243. sierra_research-1.3.11.data/data/share/man/man1/sierra-cli.1 +0 -2349
  244. sierra_research-1.3.11.data/data/share/man/man7/sierra-examples.7 +0 -508
  245. sierra_research-1.3.11.data/data/share/man/man7/sierra-exec-envs.7 +0 -331
  246. sierra_research-1.3.11.data/data/share/man/man7/sierra-glossary.7 +0 -285
  247. sierra_research-1.3.11.data/data/share/man/man7/sierra-platforms.7 +0 -358
  248. sierra_research-1.3.11.data/data/share/man/man7/sierra-usage.7 +0 -729
  249. sierra_research-1.3.11.data/data/share/man/man7/sierra.7 +0 -78
  250. sierra_research-1.3.11.dist-info/METADATA +0 -492
  251. sierra_research-1.3.11.dist-info/RECORD +0 -133
  252. sierra_research-1.3.11.dist-info/top_level.txt +0 -1
  253. {sierra_research-1.3.11.dist-info → sierra_research-1.5.0.dist-info}/entry_points.txt +0 -0
  254. {sierra_research-1.3.11.dist-info → sierra_research-1.5.0.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,186 @@
1
+ sierra/__init__.py,sha256=eNvb4V_WgvNHPbmZWjqRPe1xjv54KegY3aWEc58xZ6s,240
2
+ sierra/main.py,sha256=hU2wcw-GwLcEsbpVh7MuMzW741G0TTH5_JzX6Cf2xeo,12639
3
+ sierra/version.py,sha256=hCiGxH_xTnajajgwzQ9PvfqxSNbd3tFAb-ts4cdtI30,315
4
+ sierra/core/__init__.py,sha256=UGRSuXeYdlkWkePVX6iMA7NEYvf1h7IvrSqOHOJAp1Y,222
5
+ sierra/core/batchroot.py,sha256=Kc9jCEG573l2uFR6OXOU6dHE9vVNCQetVUFKj2b67Z0,6569
6
+ sierra/core/cmdline.py,sha256=pD0J73pfHVdJXfijlRrxodtL4J0GyuFJ-wyvntSwc_Y,32063
7
+ sierra/core/compare.py,sha256=oDv9CbQDB4qHVZtRFiRUtPJtBca0XSfBTP89rU3vGJw,296
8
+ sierra/core/config.py,sha256=NKCh4uJbfGPlcSyAuFkJQFMo3h0FEKUw4cEVNt52hU4,4920
9
+ sierra/core/engine.py,sha256=hbdC3CRg9eky5XJG7YpfyclmeAI_7DPRRhikW9oZ3lI,9446
10
+ sierra/core/execenv.py,sha256=bKgGuYFdw48RxIJYAb6NT1IiFPJlCIw98sjaRm8DAKE,11906
11
+ sierra/core/expdef.py,sha256=2DfoAInRJd5HCMO1c_oPree_MHJeGq24tuGFTvWlUKE,295
12
+ sierra/core/exproot.py,sha256=9Z5TDgGPj37yufnh3YOa6TmFhIP8OXMkA-YJiv5BTOI,1084
13
+ sierra/core/logging.py,sha256=Ua4oqPGyXBnq0OPsfB575XtWNgUmPpFl6neGJ0dR7GM,1027
14
+ sierra/core/plugin.py,sha256=CuGYN_i5uXlmxel6Y9NhLc3KJqv7PHr3Ef_MKx0jF8A,18781
15
+ sierra/core/proc.py,sha256=jsIeQ0AnW3YHpC9NO4NW_8oLUMEK99RU4Rm1v3srd6A,293
16
+ sierra/core/prod.py,sha256=OmpO91141jOLd44RP4uBeSS8PIVELjSRqRfQeOTb6AY,293
17
+ sierra/core/startup.py,sha256=yM4XYzyEwMqGcahncqbgdw7cC5LPl8XycSYUEBHBTfM,5380
18
+ sierra/core/stat_kernels.py,sha256=E2O-EyRQ3VEdexX2lqqSg3P73WFCdk8cPBUiF6GPoNs,5887
19
+ sierra/core/storage.py,sha256=jiUrioubjL_Z6FsCOlMMB7hNfDFuFXddDFeeQVMzyVQ,1013
20
+ sierra/core/trampoline.py,sha256=j6Kw-yCpIzz9Ngwqt3OWz6lOxP2nXuDtelx2pyhcCCA,700
21
+ sierra/core/types.py,sha256=VOkCsXs_8RDdjaDMN4neLQq_X6jDcOx7k_3Owp6AIfU,3375
22
+ sierra/core/utils.py,sha256=7vJojF7CqEYNcCXZBF7j6C_BpYkqQVip33OOIZcmf_M,11862
23
+ sierra/core/vector.py,sha256=ugf2QqInwX9FoUwvYbEXKdWxJKrHSHHfnoNbJm7hnJo,3843
24
+ sierra/core/experiment/__init__.py,sha256=UNewMzMV1Z5hiJUQ5IhfbsyimlZJ5zad2gTbY2PjT4I,203
25
+ sierra/core/experiment/bindings.py,sha256=RRZFqN5GWNYcGaiZ_72ZQGnYPL8I4wwKA2puilg5Ohk,12739
26
+ sierra/core/experiment/definition.py,sha256=3gtvfk40OS-xZ4Cyjk7uagmaRNlsK-bBthY3q25mdkM,15977
27
+ sierra/core/experiment/spec.py,sha256=pncUaG3d7HZQUggMONB2dtxB-OGj5qxyWYJeXNGVlss,6105
28
+ sierra/core/generators/__init__.py,sha256=g_LtUrcXXeyT_peoP-V8Sh0UTdBAeRdIjryYd9mqOhQ,202
29
+ sierra/core/generators/experiment.py,sha256=xf67VZrNMcpCOGtzp2k9aQCY_Y09fE59qgINphI4U5o,20678
30
+ sierra/core/generators/generator_factory.py,sha256=efaj2nN6rFPz_cl8hkXCC5qEJUxq7K4cEOtOb60xsy8,8430
31
+ sierra/core/graphs/__init__.py,sha256=1vhPoInkoWAe58_JzJLJXYJ-dVDUtAbSgT_H55ckaEM,522
32
+ sierra/core/graphs/bcbridge.py,sha256=KAM1ze_PupPT-OfdgZembuhS2PWJsw04ZfVA-TLK36U,2778
33
+ sierra/core/graphs/heatmap.py,sha256=0gHcgMGlFk6yiBRyFzpIWZkmgp867jtcm22Hwgt3Wks,8078
34
+ sierra/core/graphs/pathset.py,sha256=CTfxDdeLMLNdp0cJXSePk74SLeD2F_I3DllcoMklEdk,464
35
+ sierra/core/graphs/schema.py,sha256=BFgPw6ybhWcAg1XNE6ajXzQyQXiJy1PtkZTLcKgP8pM,2538
36
+ sierra/core/graphs/stacked_line.py,sha256=DULNGqvl3p1XqrXq6UT1EmbGBiIR4DZE-Hgc_aRTMgc,10629
37
+ sierra/core/graphs/summary_line.py,sha256=bzymWiSe2wuqL33TD6BYPZqSR6UzbBR_XMGgc5TqTcc,15177
38
+ sierra/core/models/__init__.py,sha256=mn60QByvOeHAPWAgCHeHQCf26Qi0LaIoSMdskdavHo4,239
39
+ sierra/core/models/info.py,sha256=en62TFeODGLWWoCawdqkdD5HQHPNnXwDbOw7rKniLuQ,387
40
+ sierra/core/models/interface.py,sha256=LxkpsbvV764ARRk6bbStZPSjRUH73hHIX_T1ig35w8Y,4067
41
+ sierra/core/pipeline/__init__.py,sha256=gZOKupIWkbp3RHyfwSX-E_m6O6BWR3Fd-hzI42Z1cHo,129
42
+ sierra/core/pipeline/pipeline.py,sha256=3KffgmOHyhcl6U6pYmcnyX1Gp1JdDe85AFnFaWZJunk,11144
43
+ sierra/core/pipeline/yaml.py,sha256=hSNzAHAG24KLbSIRTmJN0LkJEDe-eigVX-noiRmx3Ec,1120
44
+ sierra/core/pipeline/stage1/__init__.py,sha256=WD424VY_nz3sVa-LKFexbW6BiPiUoABuJ-HM6i7piak,204
45
+ sierra/core/pipeline/stage1/pipeline_stage1.py,sha256=pYT6XmDBbimmmt5lfxSa5nrfOOFuFe_9GVt_HXowLzw,3508
46
+ sierra/core/pipeline/stage2/__init__.py,sha256=pNIR6XkcZJKBPCmqMKCK3ESE31ST6iOYiQZFkk07hMw,197
47
+ sierra/core/pipeline/stage2/pipeline_stage2.py,sha256=CnlzT5owPLXRAyQG18laJRCHCJSUGByhu727ufBPb4o,1333
48
+ sierra/core/pipeline/stage2/runner.py,sha256=0AoWd8lcscsx5kCU3bTWtaGfegeTH9Vp-NAa9XiKH1I,14750
49
+ sierra/core/pipeline/stage3/__init__.py,sha256=fU_KA5KDH8lWAkxpPntrGKdvfrqTGLUc6x6ZjZffur4,200
50
+ sierra/core/pipeline/stage3/gather.py,sha256=AIRJ4FFtVow8wgCj9x_kP3YXL9BgDUSZpyuCppsDsQw,11327
51
+ sierra/core/pipeline/stage3/pipeline_stage3.py,sha256=MPMjPNMpfnoMNipdaqDs70U6Df0TLtjaYl2aJbo7wJ4,2192
52
+ sierra/core/pipeline/stage4/__init__.py,sha256=rz0ARj3PzsNjNQUeR0G-s2xJme_ffCrPhO_FuNazX-E,200
53
+ sierra/core/pipeline/stage4/pipeline_stage4.py,sha256=CpPXg-0acEMw_Ki218tHAAH2ewAu5O82R6H-JyWdveo,3223
54
+ sierra/core/pipeline/stage5/__init__.py,sha256=e8At-nk5FKn5kxjGLd4teLqaHbJkNKdKHdcD8sZa8pQ,200
55
+ sierra/core/pipeline/stage5/pipeline_stage5.py,sha256=D-zJN8vCBuTKV7vFPx9yEbmw5ye_8WtlQadU50pyIS0,1742
56
+ sierra/core/ros1/__init__.py,sha256=5St1vfmy_HOp_oJwBW3wiVk-116U7Fn-ejhoWhThLcw,350
57
+ sierra/core/ros1/callbacks.py,sha256=HDc5xZAHz-mkV2pTmfFe3h26dW12PrXFNFn4r56zfN0,1351
58
+ sierra/core/ros1/cmdline.py,sha256=XJOArQ6hm-abAgID0bZggWtuL2GcqjPzx0-YsbWJMgg,2914
59
+ sierra/core/ros1/generators.py,sha256=Ni7-GDxaJ-gEoZozyZ851BaCFMdhNA8OLHfeeCYq_U4,6289
60
+ sierra/core/ros1/variables/__init__.py,sha256=ItHlwF3k1iDHWLpIZWxvhqiptpQgTx9O9iHwre4cfV4,206
61
+ sierra/core/ros1/variables/exp_setup.py,sha256=MasAoFMa1Ln5Xfl1gNo893g5l2ELNS0XziByZsj71EY,6755
62
+ sierra/core/variables/__init__.py,sha256=iyk2hbXtXzWdD6FZDyIYyKElA_FE1ew2Y0q0Wdju8YA,142
63
+ sierra/core/variables/base_variable.py,sha256=kz9Y6_O2EFGqJGcpXJKZscZs3_kKlf2eDxsLJA1dVrU,1589
64
+ sierra/core/variables/batch_criteria.py,sha256=kPwXQlmxYzOtR8GBG3aRCJGFJLpZN0FNI5xdE_g7LNs,22659
65
+ sierra/core/variables/builtin.py,sha256=sw_defEvUfyZ2SF2VSbxxHLqTmX2zbrz_oxHi45XFVg,4349
66
+ sierra/core/variables/exp_setup.py,sha256=wlHMB6tFR2Lrw_g-6ke-HUXzqIFpJSgEiKRym4I7heM,1153
67
+ sierra/core/variables/population_size.py,sha256=-y7uPbph2Yvir0PQjEYjPpNH5gHzyW7x3v9nspzt7bQ,3501
68
+ sierra/core/variables/variable_density.py,sha256=TM_OTQgGiHz4o3nWB5fJfriSnGDHJzJv5W4nzZSFJ5Y,2588
69
+ sierra/plugins/__init__.py,sha256=AQZMX4x2WoDDqglee8aVQOS9EuvDLeFg842nwQ2nEiI,3722
70
+ sierra/plugins/compare/__init__.py,sha256=AjPMtVIG_bCyAmARkCJm5X6b3BpbRMOM0y8KUwoTJSY,240
71
+ sierra/plugins/compare/graphs/__init__.py,sha256=uNi1Jwa_1NTcKqu3qetkY87YVlGxlQC_TUY0Q2zNSOA,306
72
+ sierra/plugins/compare/graphs/cmdline.py,sha256=lhIHUAE3OK3ONwAxMi5zZiwVjeF74jWS0j2DMrW9oMM,3824
73
+ sierra/plugins/compare/graphs/comparator.py,sha256=ec37fBNBGgHqjAmIKYqBDTYrLGf8pCNARiMkKBHXxuQ,10751
74
+ sierra/plugins/compare/graphs/inter_controller.py,sha256=_E473y_SpHfKfinw5q8MQeNPsW_DtbNvxD7ntv4_3mY,20278
75
+ sierra/plugins/compare/graphs/inter_scenario.py,sha256=Ks-3gx8vLHi_BvKsLMe6SliU3mfRFMPejXEHIMNdilw,10993
76
+ sierra/plugins/compare/graphs/namecalc.py,sha256=TPiE7BYImZyje0FoE6YPfLcWOcNr9AAfuovjWKKfP-o,1414
77
+ sierra/plugins/compare/graphs/outputroot.py,sha256=VqOTDfPrSyZ2JGa3mNkYO1frAqgdQ8JL0gK0Q9WuroU,2550
78
+ sierra/plugins/compare/graphs/plugin.py,sha256=evmOxKwK6EBA470SQsMQdbpqXtRQq3mr-SZjN6ERO9o,4258
79
+ sierra/plugins/compare/graphs/preprocess.py,sha256=rgcAOCkSzGSQQ5_cpg_5y1bgPjAME1IpPZwZoa68fmg,5005
80
+ sierra/plugins/compare/graphs/schema.py,sha256=N6E0ebtYKUtx8vGaDnjOOiWZZRXxQnPY3yoBjeUFUDw,788
81
+ sierra/plugins/engine/__init__.py,sha256=fNllRlhNQyO0ezUvkB27aQ9QuDFKjSZdbYcDvFqiCF0,244
82
+ sierra/plugins/engine/argos/__init__.py,sha256=t_-7XtmvXF0Id9pdYxPtD6I2To6Khw-_xRTRqIkmUr0,290
83
+ sierra/plugins/engine/argos/cmdline.py,sha256=EXpprj-Wog7pRUqGS2f9ZijWmfWVzNFGEzgJHSJay4w,13625
84
+ sierra/plugins/engine/argos/plugin.py,sha256=dehSipc5DbA53gE73v1Yc4CIB_IlzPPxCtojxmT3gYk,12573
85
+ sierra/plugins/engine/argos/generators/__init__.py,sha256=vqdBu0vrAeS9WGiinGxz-vOuNsoz4aU3LNiTXEr2NGg,235
86
+ sierra/plugins/engine/argos/generators/engine.py,sha256=iDIeh0lOdZcDWmT3JjTZH-5E2GfreWpL0l1YRxciFO0,13402
87
+ sierra/plugins/engine/argos/variables/__init__.py,sha256=OmLPgHgJYqH85Mw2FUijksdGIeCh6FEXjZuh3pQHNx0,234
88
+ sierra/plugins/engine/argos/variables/arena_shape.py,sha256=y-Heov4oW6TjI5FnmqC_M7QICkF37UvLJ5eQAJ0T3N4,5885
89
+ sierra/plugins/engine/argos/variables/cameras.py,sha256=ZILy1iSyC0LM5Qy_YACJiFAuH97zCTZQJxQ4LdghBFk,8085
90
+ sierra/plugins/engine/argos/variables/constant_density.py,sha256=HZDe2ovJ3PB6YPeJq1etR8IWFUcafwLU3aaNfFikFsQ,3774
91
+ sierra/plugins/engine/argos/variables/exp_setup.py,sha256=9PqpHsNqfbHK4MoO0FwRHtBXbKV4I9A5RGRlTpUL-D0,2193
92
+ sierra/plugins/engine/argos/variables/physics_engines.py,sha256=8HOFHEhMSo6mPLnQNeimpB0DWXDCePkxnmjv_XFbKb8,20053
93
+ sierra/plugins/engine/argos/variables/population_constant_density.py,sha256=MGcWvykSn9RRBdaSvV17mG_WdfWeyBFhC8yiy7RpRqQ,6029
94
+ sierra/plugins/engine/argos/variables/population_size.py,sha256=wQUR_FmhnI0FC455GXvD3ExhlE2B779vhHxJf44PBGI,3622
95
+ sierra/plugins/engine/argos/variables/population_variable_density.py,sha256=FAkfgaIAwihomynGOhSIqccVYbr2oILLz00VzWusr3g,4043
96
+ sierra/plugins/engine/argos/variables/rendering.py,sha256=7eX8jgwVEOyoA6dTqEJQhw9639_riA5LthePHmSVI8g,3235
97
+ sierra/plugins/engine/ros1gazebo/__init__.py,sha256=ar5iJqRPt_wL2EhUwvFM1g-ld-_n7D3r49miBq4tSU4,302
98
+ sierra/plugins/engine/ros1gazebo/cmdline.py,sha256=7pLg_FUqjI9wCeQ_8XfrETH-ys_sVaVq5FuFUS6lgt8,6417
99
+ sierra/plugins/engine/ros1gazebo/plugin.py,sha256=nA2Vj30eclVjHc0oMKAMujGgZ6e6DTl2Kr2Op5nDMds,13230
100
+ sierra/plugins/engine/ros1gazebo/generators/__init__.py,sha256=16tw10ncqNcCwlEB1X3DqOg8R7uK6D_CBFN4ksmUdPA,246
101
+ sierra/plugins/engine/ros1gazebo/generators/engine.py,sha256=fzWIxSbaKtgkVCIvZxr4toZEUg9bpbNZ2iTSleJAKmU,3964
102
+ sierra/plugins/engine/ros1gazebo/variables/__init__.py,sha256=sCKxgf0tPBIrge6skqCvhofquT0ESwRcK4kY1iACgs8,307
103
+ sierra/plugins/engine/ros1gazebo/variables/population_size.py,sha256=9AQuikrulTLGqP6QRZ_jwYwcx9tYgmT4anR5fSWtsec,7724
104
+ sierra/plugins/engine/ros1robot/__init__.py,sha256=CVdZty-qkTKJb-lc2seAnsGl0dF28lYDnI4gBPB_eFw,300
105
+ sierra/plugins/engine/ros1robot/cmdline.py,sha256=m0OcuqbccnT6MmMu86PnOEKyXrIdXlak_PC5XVhO8gc,5211
106
+ sierra/plugins/engine/ros1robot/plugin.py,sha256=T87MeC9MUY58EC7wPGIxwPhDLHc09ITh1B6qt-9wqDU,13199
107
+ sierra/plugins/engine/ros1robot/generators/__init__.py,sha256=ZBHkCvbdmDiQ5BvtsUEaRzFTmnVCpn68d7f1nJLyKoA,243
108
+ sierra/plugins/engine/ros1robot/generators/engine.py,sha256=4IX64BTisqfuf5nq5u6c94t6p8KtJKurzhVIuzVSwp0,2988
109
+ sierra/plugins/engine/ros1robot/variables/__init__.py,sha256=InEhZbRBWRr8OuIFOX2-ji4dWbzDAGlwMiSLi5torzg,243
110
+ sierra/plugins/engine/ros1robot/variables/population_size.py,sha256=4yYcO8w1HApBAp4-ruZ8rtK_UAPDoW5gPVNMogXbwMw,4866
111
+ sierra/plugins/execenv/__init__.py,sha256=VpgfwcBn36_7-_4tkuRO7OzOTmiGEpNqb3AwTUfXdGg,148
112
+ sierra/plugins/execenv/hpc/__init__.py,sha256=18KFbQAV7yRXWlAEC2wCZHsNTizBRcwWWf8cyD60rSE,302
113
+ sierra/plugins/execenv/hpc/cmdline.py,sha256=YYg1ZsC_a-g4osZgUv6mXH_fvWz_d7nlK1_GCMXN7CY,4345
114
+ sierra/plugins/execenv/hpc/adhoc/__init__.py,sha256=_2vomaJVDTxO7zT61hKpGD9wH2EIy9bqInRkIExHDIY,303
115
+ sierra/plugins/execenv/hpc/adhoc/cmdline.py,sha256=JPJZ5Tudqkfr0SqWR3zC6tuQwVKWABxPHa8HWXoc0_A,711
116
+ sierra/plugins/execenv/hpc/adhoc/plugin.py,sha256=ltJALeb6KbQG3CZD37UFdC0rox_Gm5aQDPrKNDM_PoU,4047
117
+ sierra/plugins/execenv/hpc/local/__init__.py,sha256=4WVKDrwCisqqZA7kvxtiFn6wlNi3oXq8u7Noi7KY8gY,303
118
+ sierra/plugins/execenv/hpc/local/cmdline.py,sha256=crwNLR7pnm4HFvzDTVhPt1HdsDvuclsGz1by3NDNdEk,714
119
+ sierra/plugins/execenv/hpc/local/plugin.py,sha256=h26NhwZjVnfbrc3r3u9WURtJEUgaTUKDGMAnu_Klrvk,4633
120
+ sierra/plugins/execenv/hpc/pbs/__init__.py,sha256=iQjbyT-JYyADVw5ZmpzobBTy4uCRsEyKNXTp5X09UL8,299
121
+ sierra/plugins/execenv/hpc/pbs/cmdline.py,sha256=Ox6yMg3SB-aRavU1Fw1FrToi13m0JG2sqiHycFpDKpg,709
122
+ sierra/plugins/execenv/hpc/pbs/plugin.py,sha256=tBEBA09e2qDnwn4C0PC7Yx03yJIT2H_7bQpQYmbQ2SQ,3589
123
+ sierra/plugins/execenv/hpc/slurm/__init__.py,sha256=WNqmgWiv2RL7tHSGZHeonZEBZxN9x5SPKIT5my-H-xE,303
124
+ sierra/plugins/execenv/hpc/slurm/cmdline.py,sha256=wfJpPhAO9iHwlnKRaQxpqvU_52RlLehNuQ67cgsFtoY,711
125
+ sierra/plugins/execenv/hpc/slurm/plugin.py,sha256=wVNHYkLECxlmeSnhbrlsrXz7g-R0UULPJHxFY3706p8,4044
126
+ sierra/plugins/execenv/prefectserver/__init__.py,sha256=gDbqbuljLSJjFy6rowPbQhcvpGpX96bkHMPkq9gGJyQ,297
127
+ sierra/plugins/execenv/prefectserver/cmdline.py,sha256=1FoiRqzlYv9ujUr4XtJayRIA-Ehqf3Qfsj4j_q1dgF4,1743
128
+ sierra/plugins/execenv/prefectserver/flow.py,sha256=4Lz-pN1338_7VBfjfwYD7jG3FsREorc0_rwtpDH2lyA,1602
129
+ sierra/plugins/execenv/prefectserver/dockerremote/__init__.py,sha256=Tq-xQJXE1BxJxb6vnJyFBRLVOXquL-Kd0QdHkXt7190,337
130
+ sierra/plugins/execenv/prefectserver/dockerremote/cmdline.py,sha256=GbR_axeVOxJnN34ah7tHEJf46DJedOXbaKAOMG7-ljU,1747
131
+ sierra/plugins/execenv/prefectserver/dockerremote/plugin.py,sha256=r9sFptspkugUGtScAqV1_8YT-HLiBEMLBW9zcD-FdoE,4296
132
+ sierra/plugins/execenv/prefectserver/local/__init__.py,sha256=suSzkiOyd8Ddz61WNQifvdgQ5IPp2WnM-cWor5fqunE,313
133
+ sierra/plugins/execenv/prefectserver/local/cmdline.py,sha256=h1Rtti3nuEwNEe21qcnu3WXAZibktNnbpgysw9S7Lnk,684
134
+ sierra/plugins/execenv/prefectserver/local/plugin.py,sha256=91ma7DDgXEX891nuK0Y0tWXjVxhVGHemxOnyVTw0hUU,5088
135
+ sierra/plugins/execenv/robot/__init__.py,sha256=a3DaGYAi_Kmgth-9I3g2rb-MsqwkhlX5050ulDMCOIQ,226
136
+ sierra/plugins/execenv/robot/turtlebot3/__init__.py,sha256=uZKMDbY7tENTafb7PCCXDGCff3ErHLkdxlZ4nMjU420,332
137
+ sierra/plugins/execenv/robot/turtlebot3/plugin.py,sha256=RfVDWM5bbU3YN9y1mMGDp2AW3lsH6cFuyLYE7vUK9sk,6605
138
+ sierra/plugins/expdef/__init__.py,sha256=aWP6MTApnJwsnIdNp0zXDj5xSNnCNByeqArKnZVovC0,250
139
+ sierra/plugins/expdef/json/__init__.py,sha256=YgolpqPItVliH37jIr05twsTkx1iAdc8I9fmuQevmXY,253
140
+ sierra/plugins/expdef/json/plugin.py,sha256=G9Id71P53F-uZgGFCHTL5rtnEBUL2L8nlacVmZeK69w,16585
141
+ sierra/plugins/expdef/xml/__init__.py,sha256=3Y9ltaMCEf6oMiv_b7JeFmK9mayaAMaa3MrRZJ0R1dY,252
142
+ sierra/plugins/expdef/xml/plugin.py,sha256=-pRErIInN5YbexKNKJKoswcypz7NR4gAFjMTacWttqw,12280
143
+ sierra/plugins/proc/__init__.py,sha256=QrHOY0XmJeFDa0TaxkqQzPIgQlSQaK-3-4KCXNdFSsY,192
144
+ sierra/plugins/proc/collate/__init__.py,sha256=kGo3epL2JfE7qobP0R0HIdIbCn23MxnxGoo5IdK0MHM,277
145
+ sierra/plugins/proc/collate/cmdline.py,sha256=pioLjs6kXubfMDrpbmFAQO53KhiV__VHfSH5QSdWLLM,1261
146
+ sierra/plugins/proc/collate/plugin.py,sha256=CMAVXcFdg4JENyAP4jE3P5IShDJBxawl2Hpff0aXITQ,9121
147
+ sierra/plugins/proc/compress/__init__.py,sha256=d41bPtlxoYJL6EPdyR-YSSo2XPL9b5ABrK0qKWpIUqU,306
148
+ sierra/plugins/proc/compress/cmdline.py,sha256=NBOsulJj5amkipU4Pe6k9PLkop0_5iMi8XVi-5ozkvY,1244
149
+ sierra/plugins/proc/compress/plugin.py,sha256=v6QYDRp5PepLe6iXuoI_rztnCvhT03nA3hOeFBP82ww,3374
150
+ sierra/plugins/proc/decompress/__init__.py,sha256=IyoFWSDyoEiGghtHK3Emjbusu0FahKijpfYhV6eCr48,310
151
+ sierra/plugins/proc/decompress/plugin.py,sha256=B7lfKCsolEhBI_ZeqW5ChyMEykGSxzI_yzjvIvkJtwA,2804
152
+ sierra/plugins/proc/imagize/__init__.py,sha256=4EFDkXvJwncxFCBOmtxn9CIP_RN9KNhPWmDx8RjIhDI,277
153
+ sierra/plugins/proc/imagize/cmdline.py,sha256=EfG5mAoRVw50eFQ34KsBIM4e6C6e7X3nUwEefDEhSUI,1356
154
+ sierra/plugins/proc/imagize/plugin.py,sha256=k4H1F8m4L8y-O-3ALj3ONSEKocTvmf41Cs38edCRKCE,9151
155
+ sierra/plugins/proc/modelrunner/__init__.py,sha256=AcNUFLTPaw5hiTU6vAFVopRgugiH0hzYCjEVn-f-2S4,249
156
+ sierra/plugins/proc/modelrunner/plugin.py,sha256=8GRMvWyFpLoge5zpNBB_-itbZ5aznUzP568Wq1oSEw8,8082
157
+ sierra/plugins/proc/statistics/__init__.py,sha256=lZsrP2UrnWj7JQ1zMMC396bdZZ8RyCmxRh-CpsPXX_o,281
158
+ sierra/plugins/proc/statistics/cmdline.py,sha256=MQ0GwG-jy9LPxXW0xVspi7rD0yJV6578qAnIrBE9K_A,1917
159
+ sierra/plugins/proc/statistics/plugin.py,sha256=ZPwQPnr-DJ4UgJZ8RddNKyQiQW2bn23ew1EonQhP6Lg,13332
160
+ sierra/plugins/prod/__init__.py,sha256=7gl7rUyeDNkAr4zxbXHp8m8Spqggzkm9hcI3I8qYu6g,192
161
+ sierra/plugins/prod/graphs/__init__.py,sha256=XZDVz9hH5m5MxTmEMWHUWnanDN75BMneJswhIWbQoy4,263
162
+ sierra/plugins/prod/graphs/cmdline.py,sha256=rg8WSO9n-Vq_mmlRMHri6DPtWEcDrLmxHZEpiw1HZOY,9854
163
+ sierra/plugins/prod/graphs/collate.py,sha256=OuAkJgULIDDrD5TYi4YJaz8OM55fuCigHH1uVGxdiuM,9726
164
+ sierra/plugins/prod/graphs/plugin.py,sha256=JMTnxZnBzrm4uQ9GunLhPg2S3RjfO2c5b-X-lL_KaQU,3433
165
+ sierra/plugins/prod/graphs/targets.py,sha256=wKxF_fjBQsq4nbOagp46vQta892oF2tWODp9q91UnZA,1917
166
+ sierra/plugins/prod/graphs/inter/__init__.py,sha256=4_EZxxpRDy_uo2jp_Htf-yinAnDm4EOyOWIkC6XvUf8,256
167
+ sierra/plugins/prod/graphs/inter/generate.py,sha256=NDBzwVFePzIk508bGTPA2AN6yXnY3i1svvpbCRiOVr8,2554
168
+ sierra/plugins/prod/graphs/inter/heatmap.py,sha256=U0WCxsy3EFkeQvCvPE40jmx3ufJ_QpdQaZazWFLzibo,2587
169
+ sierra/plugins/prod/graphs/inter/line.py,sha256=53JTEhKY2OMI9jbOtvp9L4yOqSms2Gxaz4QmX2Ok8W0,4124
170
+ sierra/plugins/prod/graphs/intra/__init__.py,sha256=yUMPbTuYbcxX1s6wPjPYBBlUSe5laB-OdgbpQgo7Lh4,316
171
+ sierra/plugins/prod/graphs/intra/generate.py,sha256=6_NMeLKkWrocs545S2jUwEWBEpa1KXhzwLbQi4uv3Z8,6969
172
+ sierra/plugins/prod/graphs/intra/heatmap.py,sha256=2eHww6wehosfn2gEnoHapBBKAKDafjiQaGMzFvUBZ2o,2202
173
+ sierra/plugins/prod/graphs/intra/line.py,sha256=U8qOYOjO6EfA5hyhsbFiel5lsPw4fLTpY_6BcuS_wIs,3970
174
+ sierra/plugins/prod/render/__init__.py,sha256=YPXxD9xnT4vybm9AIobBhjP5AA20LDSusRg7qTktTPM,256
175
+ sierra/plugins/prod/render/cmdline.py,sha256=MVIDvjr5UyzocO4S14SS_Fw6uu5RCN5o6opWRn_YPCs,2136
176
+ sierra/plugins/prod/render/plugin.py,sha256=OUZjH_-06BpjMk-Q8NV7PIl5QZWIPcRKCoa-mfS2Tzg,8988
177
+ sierra/plugins/storage/__init__.py,sha256=xgmlp71VKqvxAtxf1R4Dc7W0QeZwng2_ukuMQ4OsOck,234
178
+ sierra/plugins/storage/arrow/__init__.py,sha256=XcSG0CJi2mNCgwRi7PAo1L7U4kkpbigPBpAERh8Lbtc,292
179
+ sierra/plugins/storage/arrow/plugin.py,sha256=wsIjMOpfUHO2k9oXqQ9M0flOej6_fpJsU8iM_d_Ijgo,896
180
+ sierra/plugins/storage/csv/__init__.py,sha256=ZHcsF1l0lfwbqkrUQpOUJpq_Ii-Ip2XA3yss5mQX6Jo,288
181
+ sierra/plugins/storage/csv/plugin.py,sha256=odKY4DvkSTKpQbV2Hx-6ZvmU_rYVQFvB45NHLTebbCg,1006
182
+ sierra_research-1.5.0.dist-info/METADATA,sha256=hU7aIEbJc_2c6uZ5kFlxufa5KBjP_mhcyCXxkK-k3gk,10494
183
+ sierra_research-1.5.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
184
+ sierra_research-1.5.0.dist-info/entry_points.txt,sha256=3FhShoQcDSf17edEyA6qcO1YwGrZ5kuayu2iVG5npXY,48
185
+ sierra_research-1.5.0.dist-info/licenses/LICENSE,sha256=syQ7e-OEgTREA-x8XbHp8x4CIj7LR1-_cwicIfKGWcg,1052
186
+ sierra_research-1.5.0.dist-info/RECORD,,
@@ -1,5 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.1.0)
2
+ Generator: hatchling 1.27.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
-
@@ -1,454 +0,0 @@
1
- # Copyright 2022 John Harwell, All rights reserved.
2
- #
3
- # SPDX-License-Identifier: MIT
4
-
5
- """Helper classes for XML experiment definitions.
6
-
7
- Adding/removing tags, modifying attributes, configuration for how to write XML
8
- files.
9
-
10
- """
11
-
12
- # Core packages
13
- import typing as tp
14
- import logging
15
- import pickle
16
- import xml.etree.ElementTree as ET
17
- import sys
18
- import pathlib
19
-
20
- # 3rd party packages
21
-
22
- # Project packages
23
- from sierra.core import types
24
-
25
-
26
- class AttrChange():
27
- """
28
- Specification for a change to an existing XML attribute.
29
- """
30
-
31
- def __init__(self,
32
- path: str,
33
- attr: str,
34
- value: tp.Union[str, int, float]) -> None:
35
- self.path = path
36
- self.attr = attr
37
- self.value = str(value)
38
-
39
- def __iter__(self):
40
- yield from [self.path, self.attr, self.value]
41
-
42
- def __repr__(self) -> str:
43
- return self.path + '/' + self.attr + ': ' + str(self.value)
44
-
45
-
46
- class TagRm():
47
- """
48
- Specification for removal of an existing XML tag.
49
- """
50
-
51
- def __init__(self, path: str, tag: str):
52
- """
53
- Init the object.
54
-
55
- Arguments:
56
-
57
- path: The path to the **parent** of the tag you want to remove, in
58
- XPath syntax.
59
-
60
- tag: The name of the tag to remove.
61
- """
62
- self.path = path
63
- self.tag = tag
64
-
65
- def __iter__(self):
66
- yield from [self.path, self.tag]
67
-
68
- def __repr__(self) -> str:
69
- return self.path + '/' + self.tag
70
-
71
-
72
- class TagAdd():
73
- """
74
- Specification for adding a new XML tag.
75
-
76
- The tag may be added idempotently, or duplicates can be allowed.
77
- """
78
- @staticmethod
79
- def as_root(tag: str,
80
- attr: types.StrDict) -> 'TagAdd':
81
- return TagAdd('', tag, attr, False)
82
-
83
- def __init__(self,
84
- path: str,
85
- tag: str,
86
- attr: types.StrDict,
87
- allow_dup: bool):
88
- """
89
- Init the object.
90
-
91
- Arguments:
92
-
93
- path: The path to the **parent** tag you want to add a new tag
94
- under, in XPath syntax. If None, then the tag will be added as
95
- the root XML tag.
96
-
97
- tag: The name of the tag to add.
98
-
99
- attr: A dictionary of (attribute, value) pairs to also create as
100
- children of the new tag when creating the new tag.
101
- """
102
-
103
- self.path = path
104
- self.tag = tag
105
- self.attr = attr
106
- self.allow_dup = allow_dup
107
-
108
- def __iter__(self):
109
- yield from [self.path, self.tag, self.attr]
110
-
111
- def __repr__(self) -> str:
112
- return self.path + '/' + self.tag + ': ' + str(self.attr)
113
-
114
-
115
- class AttrChangeSet():
116
- """
117
- Data structure for :class:`AttrChange` objects.
118
-
119
- The order in which attributes are changed doesn't matter from the standpoint
120
- of correctness (i.e., different orders won't cause crashes).
121
-
122
- """
123
- @staticmethod
124
- def unpickle(fpath: pathlib.Path) -> 'AttrChangeSet':
125
- """Unpickle XML changes.
126
-
127
- You don't know how many there are, so go until you get an exception.
128
-
129
- """
130
- exp_def = AttrChangeSet()
131
-
132
- try:
133
- with open(fpath, 'rb') as f:
134
- while True:
135
- exp_def |= AttrChangeSet(*pickle.load(f))
136
- except EOFError:
137
- pass
138
- return exp_def
139
-
140
- def __init__(self, *args: AttrChange) -> None:
141
- self.changes = set(args)
142
- self.logger = logging.getLogger(__name__)
143
-
144
- def __len__(self) -> int:
145
- return len(self.changes)
146
-
147
- def __iter__(self) -> tp.Iterator[AttrChange]:
148
- return iter(self.changes)
149
-
150
- def __ior__(self, other: 'AttrChangeSet') -> 'AttrChangeSet':
151
- self.changes |= other.changes
152
- return self
153
-
154
- def __or__(self, other: 'AttrChangeSet') -> 'AttrChangeSet':
155
- new = AttrChangeSet(*self.changes)
156
- new |= other
157
- return new
158
-
159
- def __repr__(self) -> str:
160
- return str(self.changes)
161
-
162
- def add(self, chg: AttrChange) -> None:
163
- self.changes.add(chg)
164
-
165
- def pickle(self, fpath: pathlib.Path, delete: bool = False) -> None:
166
- from sierra.core import utils
167
-
168
- if delete and utils.path_exists(fpath):
169
- fpath.unlink()
170
-
171
- with open(fpath, 'ab') as f:
172
- utils.pickle_dump(self.changes, f)
173
-
174
-
175
- class TagRmList():
176
- """
177
- Data structure for :class:`TagRm` objects.
178
-
179
- The order in which tags are removed matters (i.e., if you remove dependent
180
- tags in the wrong order you will get an exception), hence the list
181
- representation.
182
-
183
- """
184
-
185
- def __init__(self, *args: TagRm) -> None:
186
- self.rms = list(args)
187
-
188
- def __len__(self) -> int:
189
- return len(self.rms)
190
-
191
- def __iter__(self) -> tp.Iterator[TagRm]:
192
- return iter(self.rms)
193
-
194
- def __repr__(self) -> str:
195
- return str(self.rms)
196
-
197
- def extend(self, other: 'TagRmList') -> None:
198
- self.rms.extend(other.rms)
199
-
200
- def append(self, other: TagRm) -> None:
201
- self.rms.append(other)
202
-
203
- def pickle(self, fpath: pathlib.Path, delete: bool = False) -> None:
204
- from sierra.core import utils
205
-
206
- if delete and utils.path_exists(fpath):
207
- fpath.unlink()
208
-
209
- with open(fpath, 'ab') as f:
210
- utils.pickle_dump(self.rms, f)
211
-
212
-
213
- class TagAddList():
214
- """
215
- Data structure for :class:`TagAdd` objects.
216
-
217
- The order in which tags are added matters (i.e., if you add dependent tags
218
- in the wrong order you will get an exception), hence the list
219
- representation.
220
- """
221
-
222
- @staticmethod
223
- def unpickle(fpath: pathlib.Path) -> tp.Optional['TagAddList']:
224
- """Unpickle XML modifications.
225
-
226
- You don't know how many there are, so go until you get an exception.
227
-
228
- """
229
- exp_def = TagAddList()
230
-
231
- try:
232
- with open(fpath, 'rb') as f:
233
- while True:
234
- exp_def.append(*pickle.load(f))
235
- except EOFError:
236
- pass
237
- return exp_def
238
-
239
- def __init__(self, *args: TagAdd) -> None:
240
- self.adds = list(args)
241
-
242
- def __len__(self) -> int:
243
- return len(self.adds)
244
-
245
- def __iter__(self) -> tp.Iterator[TagAdd]:
246
- return iter(self.adds)
247
-
248
- def __repr__(self) -> str:
249
- return str(self.adds)
250
-
251
- def extend(self, other: 'TagAddList') -> None:
252
- self.adds.extend(other.adds)
253
-
254
- def append(self, other: TagAdd) -> None:
255
- self.adds.append(other)
256
-
257
- def prepend(self, other: TagAdd) -> None:
258
- self.adds.insert(0, other)
259
-
260
- def pickle(self, fpath: pathlib.Path, delete: bool = False) -> None:
261
- from sierra.core import utils
262
-
263
- if delete and utils.path_exists(fpath):
264
- fpath.unlink()
265
-
266
- with open(fpath, 'ab') as f:
267
- utils.pickle_dump(self.adds, f)
268
-
269
-
270
- class WriterConfig():
271
- """Config for writing :class:`~sierra.core.experiment.definition.XMLExpDef`.
272
-
273
- Different parts of the XML tree can be written to multiple XML files.
274
-
275
- Attributes:
276
-
277
- values: Dict with the following possible key, value pairs:
278
-
279
- ``src_parent`` - The parent of the root of the XML tree
280
- specifying a sub-tree to write out as a child
281
- of ``dest_root``. This key is required.
282
-
283
- ``src_tag`` - The name of the tag within ``src_parent`` to write
284
- out. This key is required.
285
-
286
- ``dest_parent`` - The new name of ``src_root`` when writing out
287
- the partial XML tree to a new file. This key
288
- is optional.
289
-
290
- ``create_tags`` - Additional tags to create under
291
- ``dest_parent``. Must form a tree with a
292
- single root.
293
-
294
- ``opath_leaf`` - Additional bits added to whatever the opath
295
- file stem that is set for the
296
- :class:`~sierra.core.experiment.definition.XMLExpDef`
297
- instance. This key is optional. Can be used to
298
- add an extension.
299
-
300
- ``child_grafts`` - Additional bits of the XML tree to add under
301
- the new ``dest_root/src_tag``, specified as a
302
- list of XPath strings. You can't just have
303
- multiple src_roots because that makes
304
- unambiguous renaming of ``src_root`` ->
305
- ``dest_root`` impossible. This key is
306
- optional.
307
-
308
- """
309
-
310
- def __init__(self, values: tp.List[dict]) -> None:
311
- self.values = values
312
-
313
- def add(self, value: dict) -> None:
314
- self.values.append(value)
315
-
316
-
317
- class Writer():
318
- """Write the XML experiment to the filesystem according to configuration.
319
-
320
- More than one file may be written, as specified.
321
- """
322
-
323
- def __init__(self, tree: ET.ElementTree) -> None:
324
- self.tree = tree
325
- self.root = tree.getroot()
326
- self.logger = logging.getLogger(__name__)
327
-
328
- def __call__(self,
329
- write_config: WriterConfig,
330
- base_opath: pathlib.Path) -> None:
331
- for config in write_config.values:
332
- self._write_with_config(base_opath, config)
333
-
334
- def _write_with_config(self,
335
- base_opath: pathlib.Path,
336
- config: dict) -> None:
337
- tree, src_root, opath = self._write_prepare_tree(base_opath, config)
338
-
339
- if tree is None:
340
- self.logger.warning("Cannot write non-existent tree@%s to %s",
341
- src_root,
342
- opath)
343
- return
344
-
345
- self.logger.trace("Write tree@%s to %s", # type: ignore
346
- src_root,
347
- opath)
348
-
349
- # Renaming tree root is not required
350
- if 'rename_to' in config and config['rename_to'] is not None:
351
- tree.tag = config['rename_to']
352
- self.logger.trace("Rename tree root -> %s", # type: ignore
353
- config['rename_to'])
354
-
355
- # Adding tags not required
356
- if 'dest_parent' in config and config['dest_parent'] is not None:
357
- # Create a new tree to add the specified tags in. After adding the
358
- # tags, append the tree of newly created tags back into the parent.
359
-
360
- to_write = ET.ElementTree()
361
- if 'create_tags' in config and config['create_tags'] is not None:
362
- self._write_add_tags(config, to_write)
363
-
364
- parent = to_write.getroot().find(config['dest_parent'])
365
- assert parent is not None,\
366
- "Could not find parent '{0}' of tags for appending".format(
367
- config['dest_parent'])
368
- parent.append(tree)
369
- else:
370
- to_write = ET.ElementTree(tree)
371
- parent = to_write.getroot()
372
-
373
- # Grafts are not required
374
- if 'child_grafts' in config and config['child_grafts'] is not None:
375
- self._write_add_grafts(config, to_write)
376
-
377
- # Write out pretty XML to make it easier to read to see if things
378
- # have been generated correctly.
379
- if sys.version_info < (3, 9):
380
- from xml.dom import minidom
381
- with open(opath, "w", encoding='utf-8') as f:
382
- raw = ET.tostring(to_write.getroot())
383
- pretty = minidom.parseString(raw).toprettyxml(indent=" ")
384
- f.write(pretty)
385
- else:
386
- ET.indent(to_write, space="\t", level=0)
387
- to_write.write(opath, encoding='utf-8')
388
-
389
- def _write_add_grafts(self,
390
- config: dict,
391
- to_write: ET.ElementTree) -> None:
392
- dest_root = "{0}/{1}".format(config['dest_parent'],
393
- config['src_tag'])
394
- graft_parent = to_write.getroot().find(dest_root)
395
- assert graft_parent is not None, \
396
- "Bad parent {dest_root} for grafting"
397
-
398
- for g in config['child_grafts']:
399
- self.logger.trace("Graft tree@%s as child under %s", # type: ignore
400
- g,
401
- dest_root)
402
- elt = self.root.find(g)
403
- graft_parent.append(elt)
404
-
405
- def _write_add_tags(self,
406
- config: dict,
407
- to_write: ET.ElementTree) -> None:
408
- for spec in config['create_tags']:
409
- # Tree has no root set--set root to specified tag
410
- if to_write.getroot() is None:
411
- to_write._setroot(ET.Element(spec.tag, spec.attr))
412
- else:
413
- elt = to_write.find(spec.path)
414
- assert elt is not None,\
415
- (f"Could not find parent '{spec.path}' of tag '{spec.tag}' "
416
- "to add")
417
-
418
- ET.SubElement(elt, spec.tag, spec.attr)
419
-
420
- self.logger.trace("Create tag@%s as child under %s", # type: ignore
421
- spec.tag,
422
- spec.path)
423
-
424
- def _write_prepare_tree(self,
425
- base_opath: pathlib.Path,
426
- config: dict) -> tp.Tuple[tp.Optional[ET.Element],
427
- str,
428
- pathlib.Path]:
429
- if config['src_parent'] is None:
430
- src_root = config['src_tag']
431
- else:
432
- src_root = "{0}/{1}".format(config['src_parent'],
433
- config['src_tag'])
434
-
435
- tree_out = self.tree.getroot().find(src_root)
436
-
437
- # Customizing the output write path is not required
438
- if 'opath_leaf' in config and config['opath_leaf'] is not None:
439
- opath = base_opath.with_name(base_opath.name + config['opath_leaf'])
440
- else:
441
- opath = base_opath
442
-
443
- return (tree_out, src_root, opath)
444
-
445
-
446
- __api__ = [
447
- 'AttrChange',
448
- 'AttrChangeSet',
449
- 'TagAdd',
450
- 'TagAddList',
451
- 'TagRm',
452
- 'TagRmList',
453
- 'WriterConfig'
454
- ]