sierra-research 1.3.6__py3-none-any.whl → 1.3.11__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 (21) hide show
  1. sierra/core/generators/exp_creator.py +1 -1
  2. sierra/core/graphs/heatmap.py +1 -1
  3. sierra/core/graphs/stacked_line_graph.py +3 -1
  4. sierra/core/graphs/summary_line_graph.py +3 -1
  5. sierra/core/pipeline/stage3/statistics_calculator.py +8 -8
  6. sierra/core/pipeline/stage4/graph_collator.py +5 -4
  7. sierra/core/startup.py +2 -2
  8. sierra/version.py +1 -1
  9. {sierra_research-1.3.6.data → sierra_research-1.3.11.data}/data/share/man/man1/sierra-cli.1 +1 -1
  10. {sierra_research-1.3.6.data → sierra_research-1.3.11.data}/data/share/man/man7/sierra-examples.7 +41 -21
  11. {sierra_research-1.3.6.data → sierra_research-1.3.11.data}/data/share/man/man7/sierra-exec-envs.7 +1 -1
  12. {sierra_research-1.3.6.data → sierra_research-1.3.11.data}/data/share/man/man7/sierra-glossary.7 +1 -1
  13. {sierra_research-1.3.6.data → sierra_research-1.3.11.data}/data/share/man/man7/sierra-platforms.7 +1 -1
  14. {sierra_research-1.3.6.data → sierra_research-1.3.11.data}/data/share/man/man7/sierra-usage.7 +30 -26
  15. {sierra_research-1.3.6.data → sierra_research-1.3.11.data}/data/share/man/man7/sierra.7 +2 -2
  16. {sierra_research-1.3.6.dist-info → sierra_research-1.3.11.dist-info}/METADATA +18 -26
  17. {sierra_research-1.3.6.dist-info → sierra_research-1.3.11.dist-info}/RECORD +21 -21
  18. {sierra_research-1.3.6.dist-info → sierra_research-1.3.11.dist-info}/WHEEL +1 -1
  19. {sierra_research-1.3.6.dist-info → sierra_research-1.3.11.dist-info}/LICENSE +0 -0
  20. {sierra_research-1.3.6.dist-info → sierra_research-1.3.11.dist-info}/entry_points.txt +0 -0
  21. {sierra_research-1.3.6.dist-info → sierra_research-1.3.11.dist-info}/top_level.txt +0 -0
@@ -148,7 +148,7 @@ class ExpCreator:
148
148
  run_exp_def: definition.XMLExpDef,
149
149
  cmds_generator,
150
150
  run_num: int) -> None:
151
- run_output_dir = "{0}_{1}_output".format(self.template_stem, run_num)
151
+ run_output_dir = "{0}_run{1}_output".format(self.template_stem, run_num)
152
152
 
153
153
  # If the project defined per-run configuration, apply
154
154
  # it. Otherwise, just apply the configuration in the SIERRA core.
@@ -211,7 +211,7 @@ class DualHeatmap:
211
211
  # Scaffold graph. We can use either dataframe for setting the graph
212
212
  # size; we assume they have the same dimensions.
213
213
  #
214
- fig, axes = plt.subplots(ncols=2)
214
+ fig, axes = plt.subplots(nrows=1, ncols=2)
215
215
  Heatmap.set_graph_size(dfs[0], fig)
216
216
 
217
217
  y = np.arange(len(dfs[0].columns))
@@ -222,7 +222,9 @@ class StackedLineGraph:
222
222
 
223
223
  return dfs
224
224
 
225
- def _read_models(self) -> tp.Tuple[pd.DataFrame, tp.List[str]]:
225
+ # 2024/09/13 [JRH]: The union is for compatability with type checkers in
226
+ # python {3.8,3.11}.
227
+ def _read_models(self) -> tp.Tuple[pd.DataFrame, tp.Union[tp.List[str], tp.List[bytes]]]:
226
228
  if self.model_root is not None:
227
229
  model_fpath = self.model_root / \
228
230
  (self.input_stem + config.kModelsExt['model'])
@@ -332,7 +332,9 @@ class SummaryLineGraph:
332
332
 
333
333
  return dfs
334
334
 
335
- def _read_models(self) -> tp.Tuple[pd.DataFrame, tp.List[str]]:
335
+ # 2024/09/13 [JRH]: The union is for compatability with type checkers in
336
+ # python {3.8,3.11}.
337
+ def _read_models(self) -> tp.Tuple[pd.DataFrame, tp.Union[tp.List[str], tp.List[bytes]]]:
336
338
  if self.model_root is None:
337
339
  return (None, [])
338
340
 
@@ -229,11 +229,11 @@ class ExpCSVGatherer:
229
229
 
230
230
  self.logger.info('Processing .csvs: %s...', exp_output_root.name)
231
231
 
232
- pattern = "{}_{}_output".format(re.escape(self.gather_opts['template_input_leaf']),
233
- r'\d+')
232
+ pattern = "{}_run{}_output".format(re.escape(self.gather_opts['template_input_leaf']),
233
+ r'\d+')
234
234
 
235
235
  runs = list(exp_output_root.iterdir())
236
- assert(all(re.match(pattern, r.name) for r in runs)),\
236
+ assert (all(re.match(pattern, r.name) for r in runs)), \
237
237
  f"Extra files/not all dirs in '{exp_output_root}' are exp runs"
238
238
 
239
239
  # Maps (unique .csv stem, optional parent dir) to the averaged dataframe
@@ -299,7 +299,7 @@ class ExpCSVGatherer:
299
299
  reader = storage.DataFrameReader(self.gather_opts['storage_medium'])
300
300
  df = reader(item_path, index_col=False)
301
301
 
302
- if df.dtypes[0] == 'object':
302
+ if df.dtypes.iloc[0] == 'object':
303
303
  df[df.columns[0]] = df[df.columns[0]].apply(lambda x: float(x))
304
304
 
305
305
  if item not in gathered:
@@ -373,7 +373,7 @@ class ExpCSVGatherer:
373
373
  str(path1))
374
374
  continue
375
375
 
376
- assert (utils.path_exists(path1) and utils.path_exists(path2)),\
376
+ assert (utils.path_exists(path1) and utils.path_exists(path2)), \
377
377
  f"Either {path1} or {path2} does not exist"
378
378
 
379
379
  # Verify both dataframes have same # columns, and that
@@ -385,15 +385,15 @@ class ExpCSVGatherer:
385
385
  assert (len(df1.columns) == len(df2.columns)), \
386
386
  (f"Dataframes from {path1} and {path2} do not have "
387
387
  "the same # columns")
388
- assert(sorted(df1.columns) == sorted(df2.columns)),\
388
+ assert (sorted(df1.columns) == sorted(df2.columns)), \
389
389
  f"Columns from {path1} and {path2} not identical"
390
390
 
391
391
  # Verify the length of all columns in both dataframes is the same
392
392
  for c1 in df1.columns:
393
- assert(all(len(df1[c1]) == len(df1[c2]) for c2 in df1.columns)),\
393
+ assert (all(len(df1[c1]) == len(df1[c2]) for c2 in df1.columns)), \
394
394
  f"Not all columns from {path1} have same length"
395
395
 
396
- assert(all(len(df1[c1]) == len(df2[c2]) for c2 in df1.columns)),\
396
+ assert (all(len(df1[c1]) == len(df2[c2]) for c2 in df1.columns)), \
397
397
  (f"Not all columns from {path1} and {path2} have "
398
398
  "the same length")
399
399
 
@@ -124,7 +124,7 @@ class UnivarGraphCollator:
124
124
 
125
125
  data_df = storage.DataFrameReader('storage.csv')(csv_ipath)
126
126
 
127
- assert target['col'] in data_df.columns.values,\
127
+ assert target['col'] in data_df.columns.values, \
128
128
  "{0} not in columns of {1}".format(target['col'],
129
129
  target['src_stem'] + stat.df_ext)
130
130
 
@@ -221,7 +221,7 @@ class BivarGraphCollator:
221
221
 
222
222
  data_df = storage.DataFrameReader('storage.csv')(csv_ipath)
223
223
 
224
- assert target['col'] in data_df.columns.values,\
224
+ assert target['col'] in data_df.columns.values, \
225
225
  "{0} not in columns of {1}, which has {2}".format(target['col'],
226
226
  csv_ipath,
227
227
  data_df.columns)
@@ -238,10 +238,11 @@ class BivarGraphCollator:
238
238
  # in sequence, to generate a SEQUENCE of 2D dataframes.
239
239
  for row in data_df[target['col']].index:
240
240
  if row in stat.df_seq.keys():
241
- stat.df_seq[row].loc[xlabel][ylabel] = data_df[target['col']][row]
241
+ stat.df_seq[row].loc[xlabel][ylabel] = data_df.loc[row,
242
+ target['col']]
242
243
  else:
243
244
  df = pd.DataFrame(columns=stat.ylabels, index=stat.xlabels)
244
- df.loc[xlabel][ylabel] = data_df[target['col']][row]
245
+ df.loc[xlabel][ylabel] = data_df.loc[row, target['col']]
245
246
  stat.df_seq[row] = df
246
247
 
247
248
 
sierra/core/startup.py CHANGED
@@ -74,8 +74,8 @@ def _linux_pkg_checks() -> None:
74
74
 
75
75
  dist = distro.id()
76
76
  os_info = distro.os_release_info()
77
- if any(candidate in os_info['id_like'] for candidate in ['debian',
78
- 'ubuntu']):
77
+ if any(candidate in os_info['id'] for candidate in ['debian',
78
+ 'ubuntu']):
79
79
  _apt_pkg_checks(dist)
80
80
  else:
81
81
  logging.warning(("Unknown Linux distro '%s' detected: skipping package "
sierra/version.py CHANGED
@@ -9,4 +9,4 @@
9
9
 
10
10
  # Project packages
11
11
 
12
- __version__ = "1.3.6"
12
+ __version__ = "1.3.11"
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "SIERRA-CLI" "1" "Apr 01, 2024" "1.3.6" "SIERRA"
30
+ .TH "SIERRA-CLI" "1" "Sep 23, 2024" "1.3.11" "SIERRA"
31
31
  .SH NAME
32
32
  sierra-cli \- The SIERRA Command Line Interface (CLI).
33
33
  .sp
@@ -27,13 +27,13 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "SIERRA-EXAMPLES" "7" "Apr 01, 2024" "1.3.6" "SIERRA"
30
+ .TH "SIERRA-EXAMPLES" "7" "Sep 23, 2024" "1.3.11" "SIERRA"
31
31
  .SH NAME
32
32
  sierra-examples \- Examples of SIERRA usage. These examples all assume that you have successfully set up SIERRA with a project of your choice.
33
33
  .sp
34
34
  This page contains reference examples of SIERRA usage to help you craft your own
35
35
  SIERRA invocation. These examples use the SIERRA project plugins from the
36
- SIERRA sample project repo: \fI\%https://github.com/jharwell/sierra\-sample\-project\fP\&. See
36
+ SIERRA sample project repo: \fI\%https://github.com/jharwell/sierra\-sample\-project.git\fP\&. See
37
37
  \fI\%Trying Out SIERRA\fP or \fI\%Getting Started With SIERRA\fP for setting up the
38
38
  sample project repository.
39
39
  .sp
@@ -226,16 +226,23 @@ TWO variables/things you want to vary jointly):
226
226
  .sp
227
227
  .nf
228
228
  .ft C
229
- ::
229
+ sierra\-cli \e
230
+ \-\-sierra\-root=$HOME/exp \e
231
+ \-\-template\-input\-file=exp/your\-experiment.argos \e
232
+ \-\-platform=platform.argos\e
233
+ \-\-project=argos_project \e
234
+ \-\-controller=foraging.footbot_foraging \e
235
+ \-\-scenario=LowBlockCount.10x10x2 \e
236
+ \-\-exec\-env=hpc.local \e
237
+ \-\-n\-runs=3 \e
238
+ \-\-platform\-vc \e
239
+ \-\-exp\-graphs=none \e
240
+ \-\-physics\-n\-engines=1 \e
241
+ \-\-batch\-criteria population_size.Log8 max_speed.1.9.C5
230
242
  .ft P
231
243
  .fi
232
244
  .UNINDENT
233
245
  .UNINDENT
234
- .INDENT 0.0
235
- .INDENT 3.5
236
- sierra\-cli \-\-sierra\-root=$HOME/exp \-\-template\-input\-file=exp/your\-experiment.argos \-\-platform=platform.argos\-\-project=argos_project \-\-controller=foraging.footbot_foraging \-\-scenario=LowBlockCount.10x10x2 \-\-exec\-env=hpc.local \-\-n\-runs=3 \-\-platform\-vc \-\-exp\-graphs=none \-\-physics\-n\-engines=1 \-\-batch\-criteria population_size.Log8 max_speed.1.9.C5
237
- .UNINDENT
238
- .UNINDENT
239
246
  .sp
240
247
  The \fBmax_speed.1.9.C5\fP is a batch criteria defined in the sample project, and
241
248
  corresponds to setting the maximum robot speed from 1...9 to make 5 experiments;
@@ -423,16 +430,21 @@ with TWO variables/things you want to vary jointly):
423
430
  .sp
424
431
  .nf
425
432
  .ft C
426
- ::
433
+ sierra\-cli \e
434
+ \-\-sierra\-root=$HOME/exp \e
435
+ \-\-template\-input\-file=exp/your\-experiment.argos \e
436
+ \-\-platform=platform.ros1gazebo\e
437
+ \-\-project=ros1gazebo_project \e
438
+ \-\-controller=turtlebot3_sim.wander \e
439
+ \-\-scenario=HouseWorld.10x10x2 \e
440
+ \-\-exec\-env=hpc.local \e
441
+ \-\-n\-runs=3 \e
442
+ \-\-exp\-graphs=none \e
443
+ \-\-batch\-criteria population_size.Log8 max_speed.1.9.C5
427
444
  .ft P
428
445
  .fi
429
446
  .UNINDENT
430
447
  .UNINDENT
431
- .INDENT 0.0
432
- .INDENT 3.5
433
- sierra\-cli \-\-sierra\-root=$HOME/exp \-\-template\-input\-file=exp/your\-experiment.argos \-\-platform=platform.ros1gazebo\-\-project=ros1gazebo_project \-\-controller=turtlebot3_sim.wander \-\-scenario=HouseWorld.10x10x2 \-\-exec\-env=hpc.local \-\-n\-runs=3 \-\-exp\-graphs=none \-\-batch\-criteria population_size.Log8 max_speed.1.9.C5
434
- .UNINDENT
435
- .UNINDENT
436
448
  .sp
437
449
  The \fBmax_speed.1.9.C5\fP is a batch criteria defined in the sample project, and
438
450
  corresponds to setting the maximum robot speed from 1...9 to make 5 experiments;
@@ -455,17 +467,25 @@ plugin:
455
467
  .sp
456
468
  .nf
457
469
  .ft C
458
- ::
470
+ sierra\-cli \e
471
+ \-\-platform=platform.ros1robot \e
472
+ \-\-project=ros1robot_project \e
473
+ \-\-n\-runs=4 \e
474
+ \-\-template\-input\-file=exp/your\-experiment.launch \e
475
+ \-\-scenario=OutdoorWorld.16x16x2 \e
476
+ \-\-sierra\-root=$HOME/exp/test \e
477
+ \-\-batch\-criteria population_size.Linear6.C6 \e
478
+ \-\-controller=turtlebot3.wander \e
479
+ \-\-robot turtlebot3 \e
480
+ \-\-exp\-setup=exp_setup.T100 \e
481
+ \-\-exec\-env=robot.turtlebot3 \e
482
+ \-\-nodefile=turtlebots.txt
483
+ \-\-exec\-inter\-run\-pause=60 \e
484
+ \-\-no\-master\-node \e
459
485
  .ft P
460
486
  .fi
461
487
  .UNINDENT
462
488
  .UNINDENT
463
- .INDENT 0.0
464
- .INDENT 3.5
465
- sierra\-cli \-\-platform=platform.ros1robot \-\-project=ros1robot_project \-\-n\-runs=4 \-\-template\-input\-file=exp/your\-experiment.launch \-\-scenario=OutdoorWorld.16x16x2 \-\-sierra\-root=$HOME/exp/test \-\-batch\-criteria population_size.Linear6.C6 \-\-controller=turtlebot3.wander \-\-robot turtlebot3 \-\-exp\-setup=exp_setup.T100 \-\-exec\-env=robot.turtlebot3 \-\-nodefile=turtlebots.txt
466
- \-\-exec\-inter\-run\-pause=60 \-\-no\-master\-node
467
- .UNINDENT
468
- .UNINDENT
469
489
  .sp
470
490
  This will run a batch of 4 experiments using a correlated random walk controller
471
491
  (CRW) on the turtlebot3. Population size will be varied from 1,2,3,4,5,6. Within
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "SIERRA-EXEC-ENVS" "7" "Apr 01, 2024" "1.3.6" "SIERRA"
30
+ .TH "SIERRA-EXEC-ENVS" "7" "Sep 23, 2024" "1.3.11" "SIERRA"
31
31
  .SH NAME
32
32
  sierra-exec-envs \- The execution environments SIERRA supports.
33
33
  .SH HPC EXECUTION ENVIRONMENT PLUGINS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "SIERRA-GLOSSARY" "7" "Apr 01, 2024" "1.3.6" "SIERRA"
30
+ .TH "SIERRA-GLOSSARY" "7" "Sep 23, 2024" "1.3.11" "SIERRA"
31
31
  .SH NAME
32
32
  sierra-glossary \- Glossary of SIERRA terminology.
33
33
  .SH GLOSSARY
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "SIERRA-PLATFORMS" "7" "Apr 01, 2024" "1.3.6" "SIERRA"
30
+ .TH "SIERRA-PLATFORMS" "7" "Sep 23, 2024" "1.3.11" "SIERRA"
31
31
  .SH NAME
32
32
  sierra-platforms \- The platforms SIERRA supports, and platform-specific Batch Criteria.
33
33
  .SH ARGOS PLATFORM
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "SIERRA-USAGE" "7" "Apr 01, 2024" "1.3.6" "SIERRA"
30
+ .TH "SIERRA-USAGE" "7" "Sep 23, 2024" "1.3.11" "SIERRA"
31
31
  .SH NAME
32
32
  sierra-usage \- How to use SIERRA. This covers all non-command line interface aspects.
33
33
  .sp
@@ -312,20 +312,20 @@ an input file for each \fI\%Experimental Run\fP in the experiment,
312
312
  as well as a \fBcommands.txt\fP used by GNU parallel to run them all
313
313
  in parallel. The leaf of the \fB\-\-template\-input\-file\fP, sans
314
314
  extension, has the experimental run # appended to it
315
- (e.g. \fBmy\-template_0.argos\fP is the input file for simulation 0).
315
+ (e.g. \fBmy\-template_run0.argos\fP is the input file for simulation 0).
316
316
  .INDENT 2.0
317
317
  .INDENT 3.5
318
318
  .INDENT 0.0
319
319
  .IP \(bu 2
320
320
  \fBcommands.txt\fP
321
321
  .IP \(bu 2
322
- \fBmy\-template_0.argos\fP
322
+ \fBmy\-template_run0.argos\fP
323
323
  .IP \(bu 2
324
- \fBmy\-template_1.argos\fP
324
+ \fBmy\-template_run1.argos\fP
325
325
  .IP \(bu 2
326
- \fBmy\-template_2.argos\fP
326
+ \fBmy\-template_run2.argos\fP
327
327
  .IP \(bu 2
328
- \fBmy\-template_3.argos\fP
328
+ \fBmy\-template_run3.argos\fP
329
329
  .UNINDENT
330
330
  .UNINDENT
331
331
  .UNINDENT
@@ -333,13 +333,13 @@ extension, has the experimental run # appended to it
333
333
  \fBexp1\fP
334
334
  .INDENT 2.0
335
335
  .IP \(bu 2
336
- \fBmy\-template_0.argos\fP
336
+ \fBmy\-template_run0.argos\fP
337
337
  .IP \(bu 2
338
- \fBmy\-template_1.argos\fP
338
+ \fBmy\-template_run1.argos\fP
339
339
  .IP \(bu 2
340
- \fBmy\-template_2.argos\fP
340
+ \fBmy\-template_run2.argos\fP
341
341
  .IP \(bu 2
342
- \fBmy\-template_3.argos\fP
342
+ \fBmy\-template_run3.argos\fP
343
343
  .UNINDENT
344
344
  .IP \(bu 2
345
345
  \fBexp2\fP
@@ -361,25 +361,25 @@ each experimental run\(aqs output, including metrics, grabbed frames,
361
361
  etc., as configured in the XML input file.
362
362
  .INDENT 2.0
363
363
  .IP \(bu 2
364
- \fBmy\-template_0_output\fP
364
+ \fBmy\-template_run0_output\fP
365
365
  .IP \(bu 2
366
- \fBmy\-template_1_output\fP
366
+ \fBmy\-template_run1_output\fP
367
367
  .IP \(bu 2
368
- \fBmy\-template_2_output\fP
368
+ \fBmy\-template_run2_output\fP
369
369
  .IP \(bu 2
370
- \fBmy\-template_3_output\fP
370
+ \fBmy\-template_run3_output\fP
371
371
  .UNINDENT
372
372
  .IP \(bu 2
373
373
  \fBexp1\fP
374
374
  .INDENT 2.0
375
375
  .IP \(bu 2
376
- \fBmy\-template_0_output\fP
376
+ \fBmy\-template_run0_output\fP
377
377
  .IP \(bu 2
378
- \fBmy\-template_1_output\fP
378
+ \fBmy\-template_run1_output\fP
379
379
  .IP \(bu 2
380
- \fBmy\-template_2_output\fP
380
+ \fBmy\-template_run2_output\fP
381
381
  .IP \(bu 2
382
- \fBmy\-template_3_output\fP
382
+ \fBmy\-template_run3_output\fP
383
383
  .UNINDENT
384
384
  .IP \(bu 2
385
385
  \fBexp2\fP
@@ -463,10 +463,10 @@ First, the experiment tree for \fIscenario comparison\fP:
463
463
  .sp
464
464
  .nf
465
465
  .ft C
466
- \-\-pipeline 5\e
467
- \-\-scenario\-comparison\e
468
- \-\-batch\-criteria population_size.Log8\e
469
- \-\-scenarios\-list=RN.16x16x2,PL.16x16x2\e
466
+ \-\-pipeline 5 \e
467
+ \-\-scenario\-comparison \e
468
+ \-\-batch\-criteria population_size.Log8 \e
469
+ \-\-scenarios\-list=RN.16x16x2,PL.16x16x2 \e
470
470
  \-\-sierra\-root=$HOME/exp\(dq
471
471
  .ft P
472
472
  .fi
@@ -497,10 +497,10 @@ Second, the experiment tree for \fIcontroller comparison\fP
497
497
  .sp
498
498
  .nf
499
499
  .ft C
500
- \-\-pipeline 5\e
501
- \-\-controller\-comparison\e
502
- \-\-batch\-criteria population_size.Log8\e
503
- \-\-controllers\-list d0.CRW,d0.DPO\e
500
+ \-\-pipeline 5 \e
501
+ \-\-controller\-comparison \e
502
+ \-\-batch\-criteria population_size.Log8 \e
503
+ \-\-controllers\-list d0.CRW,d0.DPO \e
504
504
  \-\-sierra\-root=$HOME/exp\(dq
505
505
  .ft P
506
506
  .fi
@@ -545,6 +545,10 @@ experiments (\fI\%ROS1+Robot\fP platform).
545
545
  .IP \(bu 2
546
546
  \fBparallel\-rsync\fP \- Used during stage 1 when generating experiments
547
547
  experiments (\fI\%ROS1+Robot\fP platform).
548
+ .IP \(bu 2
549
+ \fBkillall\fP \- Used during stage 2 when running :term:
550
+ \fI\%ARGoS\fP, \fI\%ROS1+Gazebo\fP experiments to cleanup after each
551
+ experimental run.
548
552
  .UNINDENT
549
553
  .SH ENVIRONMENT VARIABLES
550
554
  .INDENT 0.0
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "SIERRA" "7" "Apr 01, 2024" "1.3.6" "SIERRA"
30
+ .TH "SIERRA" "7" "Sep 23, 2024" "1.3.11" "SIERRA"
31
31
  .SH NAME
32
32
  sierra \- reSearch pIpEline for Reproducability, Reusability, and Automation.
33
33
  .SH SYNOPSIS
@@ -65,7 +65,7 @@ execution before proceeding to the next step. SIERRA should rarely crash with a
65
65
  cryptic interpreter error message/exception, but if it does, please report it so
66
66
  I can fix it and/or create a better error message.
67
67
  .sp
68
- Errors should be reported to \fI\%https://github.com/jharwell/sierra\fP\&.
68
+ Errors should be reported to \fI\%https://github.com/jharwell/sierra.git\fP\&.
69
69
  .SH RETURN VALUE
70
70
  .sp
71
71
  SIERRA will always return 0, unless it crashes with an exception or a failed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sierra-research
3
- Version: 1.3.6
3
+ Version: 1.3.11
4
4
  Summary: Automation framework for the scientific method in AI research
5
5
  Home-page: https://github.com/jharwell/sierra
6
6
  Author: John Harwell
@@ -11,6 +11,9 @@ Platform: linux
11
11
  Platform: osx
12
12
  Classifier: Programming Language :: Python :: 3.8
13
13
  Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
14
17
  Classifier: License :: OSI Approved :: MIT License
15
18
  Classifier: Environment :: Console
16
19
  Classifier: Operating System :: MacOS :: MacOS X
@@ -52,8 +55,8 @@ Requires-Dist: mypy-runner ; extra == 'devel'
52
55
  Requires-Dist: build ; extra == 'devel'
53
56
  Requires-Dist: twine ; extra == 'devel'
54
57
  Requires-Dist: setuptools ; extra == 'devel'
55
- Requires-Dist: sphinx ==5.0.2 ; extra == 'devel'
56
- Requires-Dist: docutils ==0.18.1 ; extra == 'devel'
58
+ Requires-Dist: sphinx ==6.0.0 ; extra == 'devel'
59
+ Requires-Dist: docutils ==0.19 ; extra == 'devel'
57
60
  Requires-Dist: sphinx-rtd-theme ; extra == 'devel'
58
61
  Requires-Dist: sphinx-argparse ; extra == 'devel'
59
62
  Requires-Dist: sphinx-tabs ; extra == 'devel'
@@ -73,17 +76,13 @@ SIERRA (reSearch pIpEline for Reproducibility, Reusability, and Automation)
73
76
  :target: https://pypi.python.org/pypi/sierra-research/
74
77
 
75
78
  .. |supported-pythons| image:: https://img.shields.io/pypi/pyversions/sierra-research.svg
76
- :target: https://pypi.python.org/pypi/sierra-research/
77
79
 
78
- .. |linux-supported| image:: https://img.shields.io/badge/os-Linux-crimson
79
- .. |osx-supported| image:: https://img.shields.io/badge/os-OSX-crimson
80
+ .. |os-supported| image:: https://img.shields.io/badge/os-linux%20%7C%20macOS-blue
80
81
 
81
- .. |ci-integration-master| image:: https://github.com/jharwell/sierra/actions/workflows/integration-all.yml/badge.svg?branch=master
82
- .. |ci-analysis-master| image:: https://github.com/jharwell/sierra/actions/workflows/static-analysis.yml/badge.svg?branch=master
82
+ .. |ci-analysis-master| image:: https://github.com/jharwell/sierra/actions/workflows/analysis-top.yml/badge.svg?branch=master
83
83
  .. |ci-coverage-master| image:: https://coveralls.io/repos/github/jharwell/sierra/badge.svg?branch=master
84
84
 
85
- .. |ci-integration-devel| image:: https://github.com/jharwell/sierra/actions/workflows/integration-all.yml/badge.svg?branch=devel
86
- .. |ci-analysis-devel| image:: https://github.com/jharwell/sierra/actions/workflows/static-analysis.yml/badge.svg?branch=devel
85
+ .. |ci-analysis-devel| image:: https://github.com/jharwell/sierra/actions/workflows/analysis-top.yml/badge.svg?branch=devel
87
86
  .. |ci-coverage-devel| image:: https://coveralls.io/repos/github/jharwell/sierra/badge.svg?branch=devel
88
87
 
89
88
  .. |license| image:: https://img.shields.io/badge/License-MIT-blue.svg
@@ -95,24 +94,17 @@ SIERRA (reSearch pIpEline for Reproducibility, Reusability, and Automation)
95
94
  :target: https://sierra.readthedocs.io/en/master/
96
95
 
97
96
  .. |maintenance| image:: https://img.shields.io/badge/Maintained%3F-yes-green.svg
98
- :target: https://gitHub.com/jharwell/sierra/graphs/commit-activity
99
97
 
100
98
 
101
- :Usage:
102
- |pepy-downloads| |pypi-version| |supported-pythons| |linux-supported|
103
- |osx-supported|
104
-
105
- :Release:
106
-
107
- |ci-analysis-master| |ci-integration-master| |ci-coverage-master|
108
-
109
- :Development:
110
-
111
- |ci-analysis-devel| |ci-integration-devel| |ci-coverage-devel|
112
-
113
- :Misc:
114
-
115
- |license| |doi| |docs| |maintenance|
99
+ +---------------+--------------------------------------------------------------------+
100
+ | Usage | |pepy-downloads| |pypi-version| |supported-pythons| |os-supported| |
101
+ +---------------+--------------------------------------------------------------------+
102
+ | Release | |ci-analysis-master| |ci-coverage-master| |
103
+ +---------------+--------------------------------------------------------------------+
104
+ | Development | |ci-analysis-devel| |ci-coverage-devel| |
105
+ +---------------+--------------------------------------------------------------------+
106
+ | Miscellaneous | |license| |doi| |docs| |maintenance| |
107
+ +---------------+--------------------------------------------------------------------+
116
108
 
117
109
 
118
110
  TL;DR
@@ -1,6 +1,6 @@
1
1
  sierra/__init__.py,sha256=LrL9-6GqsT0Lvo6jb54x4m-DL1NywTXG8JKSrYis7Xo,186
2
2
  sierra/main.py,sha256=K46LsG16cSqTMfNiT3vSSF3SLh5BjAUPVqPjZ6A2Oxs,6618
3
- sierra/version.py,sha256=1DltYoYdHXaHmjq1Ls8zc6SRe9FsSFUWsC4fE8J1yI8,243
3
+ sierra/version.py,sha256=D-OvGRKNdSWecG-yBJLuOZqHhcOpt7Lbhw_2JsCrTKU,244
4
4
  sierra/core/__init__.py,sha256=IwACyV8LoLuIx3TBzC6WdcRTq9D-0GO7nguLxY64QbI,188
5
5
  sierra/core/cmdline.py,sha256=j9eAStCFolUyzvUSzqeRE1BNgtxDTgaYqDiaTTYFUBQ,58191
6
6
  sierra/core/config.py,sha256=zezJgparLsD4HtgfzPvlxmwBX-6X3Ntdq2kkMlxvFQs,4562
@@ -9,7 +9,7 @@ sierra/core/platform.py,sha256=jOlm4PVPNp9EPjtckaYR66t5p6A4fQwBxmjZoFCHz-o,17359
9
9
  sierra/core/plugin.py,sha256=Bc4n1_Q5VvorAsbwt76K6cZmSrU-f0m2tNyQSWXYsOE,3500
10
10
  sierra/core/plugin_manager.py,sha256=PB5AmPpjcl9ct-F8_x_tVwRioOLjHD0Vp66rQtkLrVc,12535
11
11
  sierra/core/root_dirpath_generator.py,sha256=pEJd_9a_eWSWLHPDv4fd-HWnbB0MPZG9c_ukXe3xl3k,8173
12
- sierra/core/startup.py,sha256=raE4kgNarzcDIDlgw2cHFenH3_qJJehEq4kBCE4Rnpk,5422
12
+ sierra/core/startup.py,sha256=Olxd97W4gOykzkpMnliUr4gzWGvVGsQQGqKo51br9-s,5412
13
13
  sierra/core/stat_kernels.py,sha256=wBTWEXw2XvdSfxghNlhUbKkn1XjgTP7_d0OBM6lUvWE,6030
14
14
  sierra/core/storage.py,sha256=VJ5IqNM_grOMYH5vq6bI5EO4muySERaj4TI-Ngzny6w,1300
15
15
  sierra/core/types.py,sha256=R5gW2u9nBPHJJ7HdliFzq999SwvWgYzPGX0tlyWAiWQ,2049
@@ -22,15 +22,15 @@ sierra/core/experiment/spec.py,sha256=QpCOHCi1OGWuCRVS-YnDPwflimRStcqCzAVMWf7IcE
22
22
  sierra/core/experiment/xml.py,sha256=jgAG_5J4midlf-uOQIkqfK9kFnXTNc0OFhf-3yEMA3c,14619
23
23
  sierra/core/generators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
24
  sierra/core/generators/controller_generator_parser.py,sha256=7Jr0K4p0O0PQRW0JoF8UDCB9IAEIWRGZoZ1J0DLpoXw,873
25
- sierra/core/generators/exp_creator.py,sha256=QdfOvsGrtx7SEjd1DzT4XOf2QK9GqZQ3nGlAFV7M_lQ,15596
25
+ sierra/core/generators/exp_creator.py,sha256=IjojKSGP-rWsApcK5qy13uQtLKDMjiytUotNADTlLq0,15599
26
26
  sierra/core/generators/exp_generators.py,sha256=VSSmjmP8VQXzBrXnzASEzN_fJS6TPr_jPnlAlxvwsF4,5574
27
27
  sierra/core/generators/generator_factory.py,sha256=Os_kkW76XEoC5OyoOeGNQFHbRaNP9xJ8JxtCC48TfPE,8919
28
28
  sierra/core/graphs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- sierra/core/graphs/heatmap.py,sha256=ehpdpnsFJiJgfdNQA2FyqwTYrn7f4cu6B3fwJ1jkppc,12218
29
+ sierra/core/graphs/heatmap.py,sha256=SgiKIq948o_E_FeOZaslGYr354-5keCRdvlGHjTaXTo,12227
30
30
  sierra/core/graphs/scatterplot2D.py,sha256=boUvsHbN5dJYyKsrm5eRSvW2T6_xi3fmYFVu-mjhmnY,3685
31
- sierra/core/graphs/stacked_line_graph.py,sha256=pXyCDCP3YOv-A3skl4dCPWNKF8SzQ76Wup80xdClw6I,9125
31
+ sierra/core/graphs/stacked_line_graph.py,sha256=9zjKbqfstuz9px4OfxWe6dV2pouM6qKcl1OBorxxOZQ,9255
32
32
  sierra/core/graphs/stacked_surface_graph.py,sha256=XH35cVtoqaF2hRv_TrjlF0F4GsP1DO_Fw35MdEGCai8,8125
33
- sierra/core/graphs/summary_line_graph.py,sha256=G7w7_kTXevB5aw4o6BfRE3tTNBYCbfCrlZHfxh7eCa4,13573
33
+ sierra/core/graphs/summary_line_graph.py,sha256=St8oiLFf6VqQoq7daYjXjqanKdXzEQZknk5rmBD8ojE,13703
34
34
  sierra/core/hpc/__init__.py,sha256=IG0EW-YZRtbyq01-G62wdgzI5hZ9OBqEbC1-QQhJFsI,167
35
35
  sierra/core/hpc/cmdline.py,sha256=wtnI0C__i6eKLrj8O5j5jNreSRBFp75xlkd35NeaciU,5186
36
36
  sierra/core/models/__init__.py,sha256=uAPXNomKYGVVsvnhTSpSrltW0S3TqRj6dOvVvd8SXcc,168
@@ -47,9 +47,9 @@ sierra/core/pipeline/stage3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
47
47
  sierra/core/pipeline/stage3/imagizer.py,sha256=BspVVNc7VhCNkt_jGXpFFaSlLr7bvSQiaN1rHXhxoWY,5094
48
48
  sierra/core/pipeline/stage3/pipeline_stage3.py,sha256=lpBugfd-uASYqE1PgOiDIpVI4GcpCPnO6D_AkBIKZW8,4572
49
49
  sierra/core/pipeline/stage3/run_collator.py,sha256=olq8wUiBWv4uK0mX2mo2siClt97vV2pxkfeDa_fTX1M,12585
50
- sierra/core/pipeline/stage3/statistics_calculator.py,sha256=uFuGW18LnHUKn9tfm8PveB8PGETbWRwvkzFz0EXCmlg,18186
50
+ sierra/core/pipeline/stage3/statistics_calculator.py,sha256=u1hF4gjLRUky4CHshqI_w4EXSYz6HYvXJ2h0gb0XNhc,18206
51
51
  sierra/core/pipeline/stage4/__init__.py,sha256=ttj4q54PLfuUQfrwH6Pnl7z289sDpQlpU_3jSvJVw5g,80
52
- sierra/core/pipeline/stage4/graph_collator.py,sha256=yVeu9Tr0pdq1iGnPO5IUVun3nI1r6-Hnd1rrdMIISPo,12042
52
+ sierra/core/pipeline/stage4/graph_collator.py,sha256=xoJi_Rnls7IadTv8grRJA9byq_b1RJnjA0AJw9ve3tU,12124
53
53
  sierra/core/pipeline/stage4/inter_exp_graph_generator.py,sha256=GWFqivwyteL5qVIR8Ta5oJv-zecHb_RqPAU6EYRSC1k,9591
54
54
  sierra/core/pipeline/stage4/intra_exp_graph_generator.py,sha256=zdpR7l6jUNKJdOKkCrkbLMrYS3MEBOcwPMOOfB8lMyY,13814
55
55
  sierra/core/pipeline/stage4/model_runner.py,sha256=RkDmjzeZvqxEiZEwuIfw3wiwvKUXH8libBAX_w9K_5w,6745
@@ -118,16 +118,16 @@ sierra/plugins/robot/turtlebot3/plugin.py,sha256=r7TSnboGUI5cCqT_ty1X9KVJ770pMcP
118
118
  sierra/plugins/storage/__init__.py,sha256=6b7RQQobZUX1hRmfmq_bZ3KovuTKeBYNLWwEG_axTxQ,145
119
119
  sierra/plugins/storage/csv/__init__.py,sha256=6b7RQQobZUX1hRmfmq_bZ3KovuTKeBYNLWwEG_axTxQ,145
120
120
  sierra/plugins/storage/csv/plugin.py,sha256=EnFIAmeEpAcVUlbuGG3I3sdb9AVO5zg4k2pa2C1dLFM,938
121
- sierra_research-1.3.6.data/data/share/man/man1/sierra-cli.1,sha256=xs9CghWYI3w29zeeCk5aBcth0omqLyB50UqULPb7vLY,54484
122
- sierra_research-1.3.6.data/data/share/man/man7/sierra-examples.7,sha256=4bqHRleirUTfjregCbaic_JzASrndk12MRlIuN3htaQ,17969
123
- sierra_research-1.3.6.data/data/share/man/man7/sierra-exec-envs.7,sha256=9NzoKY9hptKREts3pZgq0fCJqrLW6CK1QcowRN_ey-c,7789
124
- sierra_research-1.3.6.data/data/share/man/man7/sierra-glossary.7,sha256=hsiqUZADQSQS9Dig4n_pP_wC8ibH3_1AqO0c8F8aGFM,10868
125
- sierra_research-1.3.6.data/data/share/man/man7/sierra-platforms.7,sha256=yFoLDBl99G_aRD71PYLew5uwglh6FjXSfw-wQ4sv1Ww,13871
126
- sierra_research-1.3.6.data/data/share/man/man7/sierra-usage.7,sha256=cUkiTlpDxuLjIcM5QJfR39iX08AGdom8MmJmcqPEOTk,24725
127
- sierra_research-1.3.6.data/data/share/man/man7/sierra.7,sha256=sci8lek0-vEbDRce8ZagtMY9pIbU1wUdudD0xiYvqQM,2478
128
- sierra_research-1.3.6.dist-info/LICENSE,sha256=syQ7e-OEgTREA-x8XbHp8x4CIj7LR1-_cwicIfKGWcg,1052
129
- sierra_research-1.3.6.dist-info/METADATA,sha256=ll2CYzxeFw68RKYke_H_JjnV_9WSnRzmbUATn6M_c9A,16914
130
- sierra_research-1.3.6.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
131
- sierra_research-1.3.6.dist-info/entry_points.txt,sha256=3FhShoQcDSf17edEyA6qcO1YwGrZ5kuayu2iVG5npXY,48
132
- sierra_research-1.3.6.dist-info/top_level.txt,sha256=cDP7dDWAyFL7fK11L89hCUHy9-G267wuHeVLVR4pTX4,7
133
- sierra_research-1.3.6.dist-info/RECORD,,
121
+ sierra_research-1.3.11.data/data/share/man/man1/sierra-cli.1,sha256=lXO2NAuea56EPusy20__h6z0oxgeJ6OskBokMeosT8g,54485
122
+ sierra_research-1.3.11.data/data/share/man/man7/sierra-examples.7,sha256=ApCxZCHA9q7OhewvDxocq7HCKCZL4Om07H6eSIi0ams,17940
123
+ sierra_research-1.3.11.data/data/share/man/man7/sierra-exec-envs.7,sha256=1voVwDNO2EqgXDiWujuVFXJbpt_8DBSR8JUAp1vV-ao,7790
124
+ sierra_research-1.3.11.data/data/share/man/man7/sierra-glossary.7,sha256=VDoYCt0pht3ILs0m54d6hAGY9OctaQq1F32FEQuXJIc,10869
125
+ sierra_research-1.3.11.data/data/share/man/man7/sierra-platforms.7,sha256=wzwsw6Lh4PvenXVeetCrZlcKj0GQobAVlbmTK_xwul0,13872
126
+ sierra_research-1.3.11.data/data/share/man/man7/sierra-usage.7,sha256=oEAttFpwBJiY2a5iOrihfLQRAqDRkQPj1geQCMHtVco,24940
127
+ sierra_research-1.3.11.data/data/share/man/man7/sierra.7,sha256=Rgmh_qfXkS7lNNwPImzVReyYvlzZA3q9J00tx12b36U,2483
128
+ sierra_research-1.3.11.dist-info/LICENSE,sha256=syQ7e-OEgTREA-x8XbHp8x4CIj7LR1-_cwicIfKGWcg,1052
129
+ sierra_research-1.3.11.dist-info/METADATA,sha256=VgRwQM0ntm1p2uQjoH02yzMn-rW9mcQ794nyMUY1bT4,17043
130
+ sierra_research-1.3.11.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
131
+ sierra_research-1.3.11.dist-info/entry_points.txt,sha256=3FhShoQcDSf17edEyA6qcO1YwGrZ5kuayu2iVG5npXY,48
132
+ sierra_research-1.3.11.dist-info/top_level.txt,sha256=cDP7dDWAyFL7fK11L89hCUHy9-G267wuHeVLVR4pTX4,7
133
+ sierra_research-1.3.11.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (75.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5