sierra-research 1.2.22__py3-none-any.whl → 1.3.5__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 (133) hide show
  1. sierra/__init__.py +1 -13
  2. sierra/core/__init__.py +1 -13
  3. sierra/core/cmdline.py +2 -14
  4. sierra/core/config.py +3 -14
  5. sierra/core/experiment/__init__.py +1 -13
  6. sierra/core/experiment/bindings.py +1 -13
  7. sierra/core/experiment/definition.py +1 -13
  8. sierra/core/experiment/spec.py +1 -13
  9. sierra/core/experiment/xml.py +1 -13
  10. sierra/core/generators/controller_generator_parser.py +1 -13
  11. sierra/core/generators/exp_creator.py +1 -13
  12. sierra/core/generators/exp_generators.py +1 -13
  13. sierra/core/generators/generator_factory.py +1 -13
  14. sierra/core/graphs/heatmap.py +1 -13
  15. sierra/core/graphs/scatterplot2D.py +1 -13
  16. sierra/core/graphs/stacked_line_graph.py +10 -19
  17. sierra/core/graphs/stacked_surface_graph.py +1 -13
  18. sierra/core/graphs/summary_line_graph.py +1 -13
  19. sierra/core/hpc/__init__.py +1 -13
  20. sierra/core/hpc/cmdline.py +1 -13
  21. sierra/core/logging.py +7 -28
  22. sierra/core/models/__init__.py +1 -13
  23. sierra/core/models/graphs.py +1 -14
  24. sierra/core/models/interface.py +1 -13
  25. sierra/core/pipeline/__init__.py +1 -13
  26. sierra/core/pipeline/pipeline.py +1 -13
  27. sierra/core/pipeline/stage1/__init__.py +0 -1
  28. sierra/core/pipeline/stage1/pipeline_stage1.py +1 -13
  29. sierra/core/pipeline/stage2/__init__.py +0 -1
  30. sierra/core/pipeline/stage2/exp_runner.py +5 -17
  31. sierra/core/pipeline/stage2/pipeline_stage2.py +1 -13
  32. sierra/core/pipeline/stage3/__init__.py +0 -1
  33. sierra/core/pipeline/stage3/imagizer.py +3 -14
  34. sierra/core/pipeline/stage3/pipeline_stage3.py +1 -13
  35. sierra/core/pipeline/stage3/run_collator.py +1 -13
  36. sierra/core/pipeline/stage3/statistics_calculator.py +1 -13
  37. sierra/core/pipeline/stage4/__init__.py +2 -3
  38. sierra/core/pipeline/stage4/graph_collator.py +1 -13
  39. sierra/core/pipeline/stage4/inter_exp_graph_generator.py +1 -13
  40. sierra/core/pipeline/stage4/intra_exp_graph_generator.py +1 -13
  41. sierra/core/pipeline/stage4/model_runner.py +1 -13
  42. sierra/core/pipeline/stage4/pipeline_stage4.py +1 -13
  43. sierra/core/pipeline/stage4/rendering.py +1 -13
  44. sierra/core/pipeline/stage4/yaml_config_loader.py +1 -13
  45. sierra/core/pipeline/stage5/__init__.py +0 -1
  46. sierra/core/pipeline/stage5/inter_scenario_comparator.py +1 -13
  47. sierra/core/pipeline/stage5/intra_scenario_comparator.py +1 -14
  48. sierra/core/pipeline/stage5/pipeline_stage5.py +1 -13
  49. sierra/core/platform.py +1 -13
  50. sierra/core/plugin.py +1 -13
  51. sierra/core/plugin_manager.py +1 -13
  52. sierra/core/root_dirpath_generator.py +6 -14
  53. sierra/core/ros1/__init__.py +1 -13
  54. sierra/core/ros1/callbacks.py +1 -13
  55. sierra/core/ros1/cmdline.py +1 -13
  56. sierra/core/ros1/generators.py +1 -13
  57. sierra/core/ros1/variables/__init__.py +1 -13
  58. sierra/core/ros1/variables/exp_setup.py +1 -13
  59. sierra/core/startup.py +6 -17
  60. sierra/core/stat_kernels.py +1 -13
  61. sierra/core/storage.py +1 -13
  62. sierra/core/types.py +1 -13
  63. sierra/core/utils.py +1 -13
  64. sierra/core/variables/__init__.py +1 -13
  65. sierra/core/variables/base_variable.py +1 -13
  66. sierra/core/variables/batch_criteria.py +1 -13
  67. sierra/core/variables/exp_setup.py +1 -13
  68. sierra/core/variables/population_size.py +1 -13
  69. sierra/core/variables/variable_density.py +1 -13
  70. sierra/core/vector.py +1 -13
  71. sierra/main.py +25 -14
  72. sierra/plugins/__init__.py +1 -13
  73. sierra/plugins/hpc/__init__.py +1 -13
  74. sierra/plugins/hpc/adhoc/__init__.py +1 -13
  75. sierra/plugins/hpc/adhoc/plugin.py +1 -13
  76. sierra/plugins/hpc/local/__init__.py +1 -13
  77. sierra/plugins/hpc/local/plugin.py +1 -13
  78. sierra/plugins/hpc/pbs/__init__.py +1 -13
  79. sierra/plugins/hpc/pbs/plugin.py +1 -13
  80. sierra/plugins/hpc/slurm/__init__.py +1 -13
  81. sierra/plugins/hpc/slurm/plugin.py +1 -13
  82. sierra/plugins/platform/__init__.py +1 -13
  83. sierra/plugins/platform/argos/__init__.py +1 -13
  84. sierra/plugins/platform/argos/cmdline.py +1 -13
  85. sierra/plugins/platform/argos/generators/__init__.py +1 -13
  86. sierra/plugins/platform/argos/generators/platform_generators.py +1 -13
  87. sierra/plugins/platform/argos/plugin.py +7 -15
  88. sierra/plugins/platform/argos/variables/__init__.py +1 -13
  89. sierra/plugins/platform/argos/variables/arena_shape.py +1 -13
  90. sierra/plugins/platform/argos/variables/cameras.py +1 -13
  91. sierra/plugins/platform/argos/variables/constant_density.py +1 -13
  92. sierra/plugins/platform/argos/variables/exp_setup.py +1 -13
  93. sierra/plugins/platform/argos/variables/physics_engines.py +1 -13
  94. sierra/plugins/platform/argos/variables/population_constant_density.py +1 -13
  95. sierra/plugins/platform/argos/variables/population_size.py +1 -13
  96. sierra/plugins/platform/argos/variables/population_variable_density.py +1 -13
  97. sierra/plugins/platform/argos/variables/rendering.py +1 -13
  98. sierra/plugins/platform/ros1gazebo/__init__.py +1 -13
  99. sierra/plugins/platform/ros1gazebo/cmdline.py +1 -13
  100. sierra/plugins/platform/ros1gazebo/generators/__init__.py +1 -13
  101. sierra/plugins/platform/ros1gazebo/generators/platform_generators.py +1 -13
  102. sierra/plugins/platform/ros1gazebo/plugin.py +1 -13
  103. sierra/plugins/platform/ros1gazebo/variables/__init__.py +1 -13
  104. sierra/plugins/platform/ros1gazebo/variables/population_size.py +1 -13
  105. sierra/plugins/platform/ros1robot/__init__.py +1 -13
  106. sierra/plugins/platform/ros1robot/cmdline.py +1 -13
  107. sierra/plugins/platform/ros1robot/generators/__init__.py +1 -13
  108. sierra/plugins/platform/ros1robot/generators/platform_generators.py +1 -13
  109. sierra/plugins/platform/ros1robot/plugin.py +1 -13
  110. sierra/plugins/platform/ros1robot/variables/__init__.py +1 -13
  111. sierra/plugins/platform/ros1robot/variables/population_size.py +1 -13
  112. sierra/plugins/robot/__init__.py +1 -13
  113. sierra/plugins/robot/turtlebot3/__init__.py +1 -13
  114. sierra/plugins/robot/turtlebot3/plugin.py +1 -13
  115. sierra/plugins/storage/__init__.py +1 -13
  116. sierra/plugins/storage/csv/__init__.py +1 -13
  117. sierra/plugins/storage/csv/plugin.py +1 -13
  118. sierra/version.py +3 -14
  119. {sierra_research-1.2.22.data → sierra_research-1.3.5.data}/data/share/man/man1/sierra-cli.1 +6 -5
  120. {sierra_research-1.2.22.data → sierra_research-1.3.5.data}/data/share/man/man7/sierra-examples.7 +1 -1
  121. {sierra_research-1.2.22.data → sierra_research-1.3.5.data}/data/share/man/man7/sierra-exec-envs.7 +1 -1
  122. {sierra_research-1.2.22.data → sierra_research-1.3.5.data}/data/share/man/man7/sierra-glossary.7 +1 -1
  123. {sierra_research-1.2.22.data → sierra_research-1.3.5.data}/data/share/man/man7/sierra-platforms.7 +1 -1
  124. {sierra_research-1.2.22.data → sierra_research-1.3.5.data}/data/share/man/man7/sierra-usage.7 +1 -1
  125. {sierra_research-1.2.22.data → sierra_research-1.3.5.data}/data/share/man/man7/sierra.7 +1 -1
  126. sierra_research-1.3.5.dist-info/LICENSE +18 -0
  127. {sierra_research-1.2.22.dist-info → sierra_research-1.3.5.dist-info}/METADATA +10 -16
  128. sierra_research-1.3.5.dist-info/RECORD +133 -0
  129. {sierra_research-1.2.22.dist-info → sierra_research-1.3.5.dist-info}/WHEEL +1 -1
  130. sierra_research-1.2.22.dist-info/LICENSE.md +0 -674
  131. sierra_research-1.2.22.dist-info/RECORD +0 -133
  132. {sierra_research-1.2.22.dist-info → sierra_research-1.3.5.dist-info}/entry_points.txt +0 -0
  133. {sierra_research-1.2.22.dist-info → sierra_research-1.3.5.dist-info}/top_level.txt +0 -0
sierra/core/startup.py CHANGED
@@ -1,18 +1,6 @@
1
1
  # Copyright 2021 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
  """Startup checks performed by SIERRA.
17
5
 
18
6
  Tests for compatibility and testing for the required packages in its
@@ -50,6 +38,7 @@ kDebianPackages = types.OSPackagesSpec('linux',
50
38
  'texlive-fonts-recommended': True,
51
39
  'texlive-latex-extra': True,
52
40
  'dvipng': True,
41
+ 'psmisc': True,
53
42
  'pssh': False,
54
43
  'ffmpeg': False,
55
44
  'xvfb': False
@@ -85,8 +74,8 @@ def _linux_pkg_checks() -> None:
85
74
 
86
75
  dist = distro.id()
87
76
  os_info = distro.os_release_info()
88
-
89
- if os_info['id_like'] in ['debian', 'ubuntu']:
77
+ if any(candidate in os_info['id_like'] for candidate in ['debian',
78
+ 'ubuntu']):
90
79
  _apt_pkg_checks(dist)
91
80
  else:
92
81
  logging.warning(("Unknown Linux distro '%s' detected: skipping package "
@@ -125,8 +114,8 @@ def _apt_pkg_checks(dist: str) -> None:
125
114
  logging.debug(("Recommended .deb packages %s missing on Linux "
126
115
  "distribution '%s'. Some SIERRA functionality will "
127
116
  "not be available. "),
128
- dist,
129
- missing)
117
+ missing,
118
+ dist)
130
119
 
131
120
 
132
121
  def _osx_pkg_checks() -> None:
@@ -1,18 +1,6 @@
1
1
  # Copyright 2021 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
  """Kernels for the different types of statistics generated from experiments.
17
5
 
18
6
  """
sierra/core/storage.py CHANGED
@@ -1,18 +1,6 @@
1
1
  # Copyright 2020 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
  """
17
5
  Terminal interfare for the various storage plugins that come with SIERRA.
18
6
 
sierra/core/types.py CHANGED
@@ -1,18 +1,6 @@
1
1
  # Copyright 2021 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
  """Custom types defined by SIERRA for more readable type hints.
17
5
 
18
6
  """
sierra/core/utils.py CHANGED
@@ -1,18 +1,6 @@
1
1
  # Copyright 2018 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
 
17
5
  """Miscellaneous bits used in mutiple places but that don't fit anywhere else.
18
6
 
@@ -1,16 +1,4 @@
1
1
  # Copyright 2018 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
  from sierra.core.variables import batch_criteria
@@ -1,18 +1,6 @@
1
1
  # Copyright 2018 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
 
17
5
  # Core packages
18
6
  import typing as tp
@@ -1,18 +1,6 @@
1
1
  # Copyright 2019 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
  """
17
5
  Base classes used to define :term:`Batch Experiments <Batch Experiment>`.
18
6
  """
@@ -1,18 +1,6 @@
1
1
  # Copyright 2021 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
  """Reusable classes for configuring general aspects of experiments.
17
5
 
18
6
  Aspects include experiment length, controller frequency, etc.
@@ -1,18 +1,6 @@
1
1
  # Copyright 2021 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
  """
17
5
  Reusable classes related to the homogeneous populations of agents.
18
6
  """
@@ -1,18 +1,6 @@
1
1
  # Copyright 2021 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
  #
17
5
 
18
6
  # Core packages
sierra/core/vector.py CHANGED
@@ -1,18 +1,6 @@
1
1
  # Copyright 2020 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
  """
17
5
  Representation of vectors in 3D space and operations on them..
18
6
  """
sierra/main.py CHANGED
@@ -1,18 +1,6 @@
1
1
  # Copyright 2018 London Lowmanstone, John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
  #
17
5
  """Main module/entry point for SIERRA."""
18
6
 
@@ -37,6 +25,8 @@ import sierra.core.logging # type: ignore
37
25
  import sierra.core.startup
38
26
  import sierra.version
39
27
 
28
+ kIssuesURL = "https://github.com/jharwell/sierra/issues"
29
+
40
30
 
41
31
  class SIERRA():
42
32
  """Initialize SIERRA and then launch the pipeline."""
@@ -62,7 +52,7 @@ class SIERRA():
62
52
  project = bootstrap_args.project
63
53
  plugin_core_path = [install_root / 'plugins' / 'hpc',
64
54
  install_root / 'plugins' / 'storage',
65
- install_root / 'plugins' / 'robots',
55
+ install_root / 'plugins' / 'robot',
66
56
  install_root / 'plugins' / 'platform']
67
57
  plugin_search_path = plugin_core_path
68
58
  env = os.environ.get('SIERRA_PLUGIN_PATH')
@@ -138,12 +128,33 @@ class SIERRA():
138
128
  sys.exit()
139
129
 
140
130
 
131
+ def excepthook(exc_type, exc_value, exc_traceback):
132
+ logging.fatal(("SIERRA has encountered an unexpected error and will now "
133
+ "terminate.\n\n"
134
+ "If you think this is a bug, please report it at:\n\n%s\n\n"
135
+ "When reporting, please include as much information as you "
136
+ "can. Ideally:\n\n"
137
+ "1. What you were trying to do in SIERRA.\n"
138
+ "2. The terminal output of sierra-cli, including the "
139
+ "below traceback.\n"
140
+ "3. The exact command you used to run SIERRA.\n"
141
+ "\n"
142
+ "In some cases, creating a Minimum Working Example (MWE) "
143
+ "reproducing the error with specific input files and/or "
144
+ "data is also helpful for quick triage and fix.\n"),
145
+ kIssuesURL,
146
+ exc_info=(exc_type, exc_value, exc_traceback))
147
+
148
+
141
149
  def main():
142
150
  # Necessary on OSX, because python > 3.8 defaults to "spawn" which does not
143
151
  # copy loaded modules, which results in the singleton plugin managers not
144
152
  # working.
145
153
  mp.set_start_method("fork")
146
154
 
155
+ # Nice traceback on unexpected errors
156
+ sys.excepthook = excepthook
157
+
147
158
  # Bootstrap the cmdline to print version if needed
148
159
  bootstrap = cmd.BootstrapCmdline()
149
160
  bootstrap_args, _ = bootstrap.parser.parse_known_args()
@@ -1,18 +1,6 @@
1
1
  # Copyright 2021 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
 
17
5
  # Core packages
18
6
 
@@ -1,18 +1,6 @@
1
1
  # Copyright 2021 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
 
17
5
  # Core packages
18
6
 
@@ -1,18 +1,6 @@
1
1
  # Copyright 2021 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
 
17
5
  # Core packages
18
6
 
@@ -1,18 +1,6 @@
1
1
  # Copyright 2020 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
  """HPC plugin for running experiments with an ad-hoc set of compute nodes.
17
5
 
18
6
  E.g., whatever computers you happen to have laying around in the lab.
@@ -1,18 +1,6 @@
1
1
  # Copyright 2021 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
 
17
5
  # Core packages
18
6
 
@@ -1,18 +1,6 @@
1
1
  # Copyright 2020 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
  """HPC plugin for running SIERRA locally.
17
5
 
18
6
  Not necessarily HPC, but it fits well enough under that semantic umbrella.
@@ -1,18 +1,6 @@
1
1
  # Copyright 2021 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
 
17
5
  # Core packages
18
6
 
@@ -1,18 +1,6 @@
1
1
  # Copyright 2020 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
  """
17
5
  HPC plugin for running SIERRA on HPC clusters using the TORQUE-PBS scheduler.
18
6
  """
@@ -1,18 +1,6 @@
1
1
  # Copyright 2021 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
 
17
5
  # Core packages
18
6
 
@@ -1,18 +1,6 @@
1
1
  # Copyright 2020 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
  """
17
5
  HPC plugin for running SIERRA on HPC clusters using the SLURM scheduler.
18
6
  """
@@ -1,18 +1,6 @@
1
1
  # Copyright 2021 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
 
17
5
  # Core packages
18
6
 
@@ -1,18 +1,6 @@
1
1
  # Copyright 2021 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
 
17
5
  # Core packages
18
6
 
@@ -1,18 +1,6 @@
1
1
  # Copyright 2021 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
  #
17
5
  """
18
6
  Command line parsing and validation for the :term:`ARGoS`.
@@ -1,18 +1,6 @@
1
1
  # Copyright 2022 John Harwell, All rights reserved.
2
2
  #
3
- # This file is part of SIERRA.
4
- #
5
- # SIERRA is free software: you can redistribute it and/or modify it under the
6
- # terms of the GNU General Public License as published by the Free Software
7
- # Foundation, either version 3 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # SIERRA is distributed in the hope that it will be useful, but WITHOUT ANY
11
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # SIERRA. If not, see <http://www.gnu.org/licenses/
3
+ # SPDX-License-Identifier: MIT
16
4
 
17
5
  # Core packages
18
6