Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
4453c2a
Initial implementation of a compound entity and rough draft of ensemble
MattToast May 22, 2024
3b5a420
Add tests
MattToast May 29, 2024
84e02dc
Existing ensemble impl follows new API
MattToast May 29, 2024
844f714
Style
MattToast May 29, 2024
338186a
Whoops
MattToast May 29, 2024
8cdf252
Merge up, lint, style
MattToast May 31, 2024
e278ef8
More linting
MattToast Jun 1, 2024
5024154
Fix circular import with new modules
MattToast Jun 1, 2024
e34623c
Py3.9 does not have `itertools.pairwise`
MattToast Jun 3, 2024
3fe3044
Address reviewer feedback
MattToast Jun 5, 2024
a4635a0
Pylint approved type name
MattToast Jun 5, 2024
1ceba45
Merge and lint
MattToast Jun 5, 2024
afa2ea6
New pr combinations (#2)
amandarichardsonn Jun 24, 2024
8c67e2e
Merge remote-tracking branch 'upstream/smartsim-refactor' into compou…
MattToast Jun 24, 2024
02af76f
Fix strategy type errors
MattToast Jun 25, 2024
8385892
Remove mocks of now implemented classes
MattToast Jun 25, 2024
4f93de5
Remove extra space
MattToast Jun 25, 2024
14f6699
Deepcopy mock for python 3.9 and 3.10
MattToast Jun 25, 2024
0b8a148
Ensembles have a path, that path is `test_dir` in tests
MattToast Jun 25, 2024
fd2f39f
Don't hard code launcher
MattToast Jun 25, 2024
e6d8328
Merge remote-tracking branch 'upstream/smartsim-refactor' into compou…
MattToast Jun 26, 2024
36af083
Remove old ens impl
MattToast Jul 3, 2024
3ca112b
Merge remote-tracking branch 'upstream/smartsim-refactor' into compou…
MattToast Jul 9, 2024
022888a
Address reviewer comments
MattToast Jul 9, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ max-module-lines=1000

# Allow the body of a class to be on the same line as the declaration if body
# contains single statement.
single-line-class-stmt=no
single-line-class-stmt=yes

# Allow the body of an if to be on the same line as the test if there is no
# else.
Expand Down
2 changes: 0 additions & 2 deletions smartsim/_core/generation/generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -191,8 +191,6 @@ def _gen_entity_list_dir(self, entity_lists: t.List[Ensemble]) -> None:
mkdir(elist_dir)
elist.path = elist_dir

self._gen_entity_dirs(list(elist.applications), entity_list=elist)

def _gen_entity_dirs(
self,
entities: t.List[Application],
Expand Down
1 change: 0 additions & 1 deletion smartsim/_core/utils/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,6 @@ def expand_exe_path(exe: str) -> str:

# which returns none if not found
in_path = which(exe)
print(f"hmm what is this: {in_path}")
if not in_path:
if os.path.isfile(exe) and os.access(exe, os.X_OK):
return os.path.abspath(exe)
Expand Down
46 changes: 46 additions & 0 deletions smartsim/entity/_mock.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# BSD 2-Clause License
#
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

"""This module contains stubs of functionality that is not currently
implemented.

THIS WHOLE MODULE SHOULD BE REMOVED IN FUTURE!!
"""

from __future__ import annotations

import typing as t


class Mock:
"""Base mock class"""

def __init__(self, *_: t.Any, **__: t.Any): ...
def __getattr__(self, _: str) -> Mock:
return type(self)()

def __deepcopy__(self, _: dict[t.Any, t.Any]) -> Mock:
return type(self)()
Loading