shamo.core.solutions.parametric.abc.SolParamABC

class shamo.core.solutions.parametric.abc.SolParamABC(name, parent_path, **kwargs)[source]

Bases: shamo.core.objects.dir.ObjDir

Store information about the solution of a parametric problem.

Parameters
namestr

The name of the solution.

parent_pathstr, byte or os.PathLike

The path to the parent directory of the solution.

Other Parameters
sub_json_pathslist [str]

The relative paths to the sub-solutions.

Methods

clear

copy

finalize

Finalize the solution.

fromkeys

Create a new dictionary with keys from iterable and values set to value.

get

Return the value for key if key is in the dictionary, else default.

get_params

Return the random parameters of the solution.

get_relative_path

Return the relative path from the object to a file or directory.

get_sub_file

Return the relative paths to the same file in all the sub-solutions.

get_sub_sols

Return the sub-solutions.

get_x

Return the value of the random parameters in the sub solution.

items

keys

load

Load an object from a JSON file.

pop

If key is not found, d is returned if given, otherwise KeyError is raised

popitem

Remove and return a (key, value) pair as a 2-tuple.

save

Save the object to a JSON file.

setdefault

Insert key with a value of default if key is not in the dictionary.

update

If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values

Attributes

json_path

Return the path to the object JSON file.

name

Return the name of the object.

parent_path

Return the path to the parent directory of the object.

path

Return the path to the object directory.

sub_class

Return the class of the sub-solutions.

sub_json_paths

Return the paths to the sub-solutions JSON files.

clear() → None. Remove all items from D.
copy() → a shallow copy of D
abstract finalize(**kwargs)[source]

Finalize the solution.

fromkeys(iterable, value=None, /)

Create a new dictionary with keys from iterable and values set to value.

get(key, default=None, /)

Return the value for key if key is in the dictionary, else default.

abstract get_params()[source]

Return the random parameters of the solution.

Returns
list [ list [str, Any]]
get_relative_path(path)

Return the relative path from the object to a file or directory.

Parameters
pathstr, byte or os.PathLike

The path to the file or directory to compute the relative path for.

Returns
pathlib.Path

The relative path to the file or directory.

get_sub_file(suffix)[source]

Return the relative paths to the same file in all the sub-solutions.

Returns
list [str]

The relative paths to the same file in all the sub-solutions.

get_sub_sols()[source]

Return the sub-solutions.

Returns
list [shamo.core.objects.ObjDir]

The sub-solutions.

abstract get_x(sub_sol)[source]

Return the value of the random parameters in the sub solution.

Parameters
sub_solshamo.core.solutions.SolABC
items() → a set-like object providing a view on D’s items
property json_path

Return the path to the object JSON file.

Returns
pathlib.Path

The path to the object JSON file.

keys() → a set-like object providing a view on D’s keys
classmethod load(json_path)

Load an object from a JSON file.

Parameters
json_pathstr, byte or os.PathLike

The path to the JSON file containing the object data.

Raises
TypeError

If argument json_path is not a str, byte or os.PathLike.

property name

Return the name of the object.

Returns
str

The name of the object.

property parent_path

Return the path to the parent directory of the object.

Returns
pathlib.Path

The path to the parent directory of the object.

property path

Return the path to the object directory.

Returns
pathlib.Path

The path to the object directory.

pop(k[, d]) → v, remove specified key and return the corresponding value.

If key is not found, d is returned if given, otherwise KeyError is raised

popitem(/)

Remove and return a (key, value) pair as a 2-tuple.

Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.

save(exist_ok=True)

Save the object to a JSON file.

Parameters
exist_okbool, optional

If set to True, any already existing object is overriden. Otherwise, if the object already exists, a FileExistsError. The default is True.

Raises
FileExistsError

If exist_ok is set to False and the object already exists.

TypeError

If any of the keys/values to be stored is not a str, int, float, bool or None.

setdefault(key, default=None, /)

Insert key with a value of default if key is not in the dictionary.

Return the value for key if key is in the dictionary, else default.

abstract property sub_class

Return the class of the sub-solutions.

Returns
shamo.core.objects.ObjDir

The class of the sub-solutions.

property sub_json_paths

Return the paths to the sub-solutions JSON files.

Returns
pathlib.Path

The paths to the sub-solutions JSON files.

update([E, ]**F) → None. Update D from dict/iterable E and F.

If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values() → an object providing a view on D’s values