plestylib.sim.data_generator#
Classes#
Generate synthetic values from parameter metadata. |
Module Contents#
- class plestylib.sim.data_generator.DataGenerator(seed: int | None = None)#
Generate synthetic values from parameter metadata.
The generator inspects each parameter’s dtype and optional metadata (range, options, shape, headers) to produce representative random test values for simulation and development.
Initialize the generator.
- Parameters:
seed (int | None) – Optional seed used by the internal Python random generator.
- _rng#
- __call__(param: plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput, **kwargs)#
Generate a synthetic value for one schema parameter.
- Parameters:
param (plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput) – Parameter descriptor containing dtype and optional metadata.
**kwargs – Optional runtime overrides such as min_value, max_value, length, shape, and rows depending on target type.
- Returns:
A generated value matching the parameter dtype, a PlestyArray, a PlestyTable2D, or a fallback default value when unsupported.
- rand_default(param, **kwargs)#
Return the parameter default value for unsupported dtypes.
- _cast_or_original(value: Any, dtype: type) Any#
Cast value to dtype when possible, otherwise return original.
- Parameters:
value (Any)
dtype (type)
- Return type:
Any
- _get_options(param: plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput) list[Any] | None#
Extract a non-empty options list from parameter metadata.
- Parameters:
param (plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput)
- Return type:
list[Any] | None
- _get_numeric_bounds(param: plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput, default_min: float, default_max: float, **kwargs) tuple[float, float]#
Resolve numeric bounds from kwargs, parameter metadata, or defaults.
Priority order: 1. Explicit kwargs min_value and max_value 2. Range metadata from ConfigParameter or FuncParam/FuncOutput 3. Provided default_min and default_max
- Parameters:
param (plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput)
default_min (float)
default_max (float)
- Return type:
tuple[float, float]
- rand_int(param: plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput, **kwargs)#
Generate a random integer within resolved bounds.
- Parameters:
param (plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput)
- rand_float(param: plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput, **kwargs)#
Generate a random float within resolved bounds.
- Parameters:
param (plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput)
- rand_bool(param: plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput, **kwargs)#
Generate a random boolean value.
- Parameters:
param (plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput)
- rand_str(param: plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput, **kwargs)#
Generate an alphanumeric string.
The output length is controlled by kwargs length and defaults to 10.
- Parameters:
param (plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput)
- rand_list(param: plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput, **kwargs)#
Generate a list for scalar dtypes or a None-filled fallback list.
For item dtypes int, float, bool, and str, values are generated via the corresponding rand_* method. Other dtypes produce a list of None.
- Parameters:
param (plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput)
- rand_dict(param: plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput, **kwargs)#
Generate a simple dictionary payload with numeric and status fields.
- Parameters:
param (plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput)
- rand_tuple(param: plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput, **kwargs)#
Generate a tuple of random float values.
- Parameters:
param (plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput)
- rand_plesty_array(param: plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput, **kwargs)#
Generate a PlestyArray with shape and dtype inferred from metadata.
Supports integer, boolean, and floating NumPy dtypes. If the dtype is unsupported, a float array filled with one sampled value is returned.
- Parameters:
param (plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput)
- rand_plesty_table2d(param: plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput, **kwargs)#
Generate a PlestyTable2D from table header metadata.
Column values are produced per header dtype. If no headers are provided, one float column named value is generated.
- Parameters:
param (plestylib.device.params.ConfigParameter | plestylib.device.funcs.FuncParam | plestylib.device.funcs.FuncOutput)