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.
- sierra/__init__.py +1 -13
- sierra/core/__init__.py +1 -13
- sierra/core/cmdline.py +2 -14
- sierra/core/config.py +3 -14
- sierra/core/experiment/__init__.py +1 -13
- sierra/core/experiment/bindings.py +1 -13
- sierra/core/experiment/definition.py +1 -13
- sierra/core/experiment/spec.py +1 -13
- sierra/core/experiment/xml.py +1 -13
- sierra/core/generators/controller_generator_parser.py +1 -13
- sierra/core/generators/exp_creator.py +1 -13
- sierra/core/generators/exp_generators.py +1 -13
- sierra/core/generators/generator_factory.py +1 -13
- sierra/core/graphs/heatmap.py +1 -13
- sierra/core/graphs/scatterplot2D.py +1 -13
- sierra/core/graphs/stacked_line_graph.py +10 -19
- sierra/core/graphs/stacked_surface_graph.py +1 -13
- sierra/core/graphs/summary_line_graph.py +1 -13
- sierra/core/hpc/__init__.py +1 -13
- sierra/core/hpc/cmdline.py +1 -13
- sierra/core/logging.py +7 -28
- sierra/core/models/__init__.py +1 -13
- sierra/core/models/graphs.py +1 -14
- sierra/core/models/interface.py +1 -13
- sierra/core/pipeline/__init__.py +1 -13
- sierra/core/pipeline/pipeline.py +1 -13
- sierra/core/pipeline/stage1/__init__.py +0 -1
- sierra/core/pipeline/stage1/pipeline_stage1.py +1 -13
- sierra/core/pipeline/stage2/__init__.py +0 -1
- sierra/core/pipeline/stage2/exp_runner.py +5 -17
- sierra/core/pipeline/stage2/pipeline_stage2.py +1 -13
- sierra/core/pipeline/stage3/__init__.py +0 -1
- sierra/core/pipeline/stage3/imagizer.py +3 -14
- sierra/core/pipeline/stage3/pipeline_stage3.py +1 -13
- sierra/core/pipeline/stage3/run_collator.py +1 -13
- sierra/core/pipeline/stage3/statistics_calculator.py +1 -13
- sierra/core/pipeline/stage4/__init__.py +2 -3
- sierra/core/pipeline/stage4/graph_collator.py +1 -13
- sierra/core/pipeline/stage4/inter_exp_graph_generator.py +1 -13
- sierra/core/pipeline/stage4/intra_exp_graph_generator.py +1 -13
- sierra/core/pipeline/stage4/model_runner.py +1 -13
- sierra/core/pipeline/stage4/pipeline_stage4.py +1 -13
- sierra/core/pipeline/stage4/rendering.py +1 -13
- sierra/core/pipeline/stage4/yaml_config_loader.py +1 -13
- sierra/core/pipeline/stage5/__init__.py +0 -1
- sierra/core/pipeline/stage5/inter_scenario_comparator.py +1 -13
- sierra/core/pipeline/stage5/intra_scenario_comparator.py +1 -14
- sierra/core/pipeline/stage5/pipeline_stage5.py +1 -13
- sierra/core/platform.py +1 -13
- sierra/core/plugin.py +1 -13
- sierra/core/plugin_manager.py +1 -13
- sierra/core/root_dirpath_generator.py +6 -14
- sierra/core/ros1/__init__.py +1 -13
- sierra/core/ros1/callbacks.py +1 -13
- sierra/core/ros1/cmdline.py +1 -13
- sierra/core/ros1/generators.py +1 -13
- sierra/core/ros1/variables/__init__.py +1 -13
- sierra/core/ros1/variables/exp_setup.py +1 -13
- sierra/core/startup.py +6 -17
- sierra/core/stat_kernels.py +1 -13
- sierra/core/storage.py +1 -13
- sierra/core/types.py +1 -13
- sierra/core/utils.py +1 -13
- sierra/core/variables/__init__.py +1 -13
- sierra/core/variables/base_variable.py +1 -13
- sierra/core/variables/batch_criteria.py +1 -13
- sierra/core/variables/exp_setup.py +1 -13
- sierra/core/variables/population_size.py +1 -13
- sierra/core/variables/variable_density.py +1 -13
- sierra/core/vector.py +1 -13
- sierra/main.py +25 -14
- sierra/plugins/__init__.py +1 -13
- sierra/plugins/hpc/__init__.py +1 -13
- sierra/plugins/hpc/adhoc/__init__.py +1 -13
- sierra/plugins/hpc/adhoc/plugin.py +1 -13
- sierra/plugins/hpc/local/__init__.py +1 -13
- sierra/plugins/hpc/local/plugin.py +1 -13
- sierra/plugins/hpc/pbs/__init__.py +1 -13
- sierra/plugins/hpc/pbs/plugin.py +1 -13
- sierra/plugins/hpc/slurm/__init__.py +1 -13
- sierra/plugins/hpc/slurm/plugin.py +1 -13
- sierra/plugins/platform/__init__.py +1 -13
- sierra/plugins/platform/argos/__init__.py +1 -13
- sierra/plugins/platform/argos/cmdline.py +1 -13
- sierra/plugins/platform/argos/generators/__init__.py +1 -13
- sierra/plugins/platform/argos/generators/platform_generators.py +1 -13
- sierra/plugins/platform/argos/plugin.py +7 -15
- sierra/plugins/platform/argos/variables/__init__.py +1 -13
- sierra/plugins/platform/argos/variables/arena_shape.py +1 -13
- sierra/plugins/platform/argos/variables/cameras.py +1 -13
- sierra/plugins/platform/argos/variables/constant_density.py +1 -13
- sierra/plugins/platform/argos/variables/exp_setup.py +1 -13
- sierra/plugins/platform/argos/variables/physics_engines.py +1 -13
- sierra/plugins/platform/argos/variables/population_constant_density.py +1 -13
- sierra/plugins/platform/argos/variables/population_size.py +1 -13
- sierra/plugins/platform/argos/variables/population_variable_density.py +1 -13
- sierra/plugins/platform/argos/variables/rendering.py +1 -13
- sierra/plugins/platform/ros1gazebo/__init__.py +1 -13
- sierra/plugins/platform/ros1gazebo/cmdline.py +1 -13
- sierra/plugins/platform/ros1gazebo/generators/__init__.py +1 -13
- sierra/plugins/platform/ros1gazebo/generators/platform_generators.py +1 -13
- sierra/plugins/platform/ros1gazebo/plugin.py +1 -13
- sierra/plugins/platform/ros1gazebo/variables/__init__.py +1 -13
- sierra/plugins/platform/ros1gazebo/variables/population_size.py +1 -13
- sierra/plugins/platform/ros1robot/__init__.py +1 -13
- sierra/plugins/platform/ros1robot/cmdline.py +1 -13
- sierra/plugins/platform/ros1robot/generators/__init__.py +1 -13
- sierra/plugins/platform/ros1robot/generators/platform_generators.py +1 -13
- sierra/plugins/platform/ros1robot/plugin.py +1 -13
- sierra/plugins/platform/ros1robot/variables/__init__.py +1 -13
- sierra/plugins/platform/ros1robot/variables/population_size.py +1 -13
- sierra/plugins/robot/__init__.py +1 -13
- sierra/plugins/robot/turtlebot3/__init__.py +1 -13
- sierra/plugins/robot/turtlebot3/plugin.py +1 -13
- sierra/plugins/storage/__init__.py +1 -13
- sierra/plugins/storage/csv/__init__.py +1 -13
- sierra/plugins/storage/csv/plugin.py +1 -13
- sierra/version.py +3 -14
- {sierra_research-1.2.22.data → sierra_research-1.3.5.data}/data/share/man/man1/sierra-cli.1 +6 -5
- {sierra_research-1.2.22.data → sierra_research-1.3.5.data}/data/share/man/man7/sierra-examples.7 +1 -1
- {sierra_research-1.2.22.data → sierra_research-1.3.5.data}/data/share/man/man7/sierra-exec-envs.7 +1 -1
- {sierra_research-1.2.22.data → sierra_research-1.3.5.data}/data/share/man/man7/sierra-glossary.7 +1 -1
- {sierra_research-1.2.22.data → sierra_research-1.3.5.data}/data/share/man/man7/sierra-platforms.7 +1 -1
- {sierra_research-1.2.22.data → sierra_research-1.3.5.data}/data/share/man/man7/sierra-usage.7 +1 -1
- {sierra_research-1.2.22.data → sierra_research-1.3.5.data}/data/share/man/man7/sierra.7 +1 -1
- sierra_research-1.3.5.dist-info/LICENSE +18 -0
- {sierra_research-1.2.22.dist-info → sierra_research-1.3.5.dist-info}/METADATA +10 -16
- sierra_research-1.3.5.dist-info/RECORD +133 -0
- {sierra_research-1.2.22.dist-info → sierra_research-1.3.5.dist-info}/WHEEL +1 -1
- sierra_research-1.2.22.dist-info/LICENSE.md +0 -674
- sierra_research-1.2.22.dist-info/RECORD +0 -133
- {sierra_research-1.2.22.dist-info → sierra_research-1.3.5.dist-info}/entry_points.txt +0 -0
- {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
|
-
#
|
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
|
-
|
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
|
-
|
129
|
-
|
117
|
+
missing,
|
118
|
+
dist)
|
130
119
|
|
131
120
|
|
132
121
|
def _osx_pkg_checks() -> None:
|
sierra/core/stat_kernels.py
CHANGED
@@ -1,18 +1,6 @@
|
|
1
1
|
# Copyright 2021 John Harwell, All rights reserved.
|
2
2
|
#
|
3
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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' / '
|
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()
|
sierra/plugins/__init__.py
CHANGED
@@ -1,18 +1,6 @@
|
|
1
1
|
# Copyright 2021 John Harwell, All rights reserved.
|
2
2
|
#
|
3
|
-
#
|
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
|
|
sierra/plugins/hpc/__init__.py
CHANGED
@@ -1,18 +1,6 @@
|
|
1
1
|
# Copyright 2021 John Harwell, All rights reserved.
|
2
2
|
#
|
3
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
|
sierra/plugins/hpc/pbs/plugin.py
CHANGED
@@ -1,18 +1,6 @@
|
|
1
1
|
# Copyright 2020 John Harwell, All rights reserved.
|
2
2
|
#
|
3
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
|