code: def __init__(
      self,
      params,
      param_keys,
      random_method="uniform_mersenne",
      fraction_limit=None,
      round_limit=None,
      time_limit=None,
      boolean_limit=None,
  ):
      # set all the arguments
      self.params = params
      self.param_keys = param_keys
      self.fraction_limit = fraction_limit
      self.round_limit = round_limit
      self.time_limit = time_limit
      self.boolean_limit = boolean_limit
      self.random_method = random_method
  
      # set a counter
      self.round_counter = 0
  
      # handle tuple conversion to discrete values
      self.p = self._param_input_conversion()
  
      # create list of list from the params dictionary
      self._params_temp = [list(self.p[key]) for key in self.param_keys]
  
      # establish max dimensions
      self.dimensions = np.prod([len(l) for l in self._params_temp])
  
      # apply all the set limits
      self.param_index = self._param_apply_limits()
  
      # create the parameter space
      self.param_space = self._param_space_creation()
  
      # handle the boolean limits separately
      if self.boolean_limit is not None:
          index = self._convert_lambda(self.boolean_limit)(
              self.param_space
          )
          self.param_space = self.param_space[index]
  
      # reset index
      self.param_index = list(range(len(self.param_index)))
  
file_path: talos/talos/parameters/ParamSpace.py
imports: import inspect
  import numpy
  import itertools
  from datetime import datetime
label_desc: Use image node_id 1 to create a new ParamSpace object  with example: obj = ParamSpace(params, param_keys, random_method, fraction_limit, round_limit, time_limit, boolean_limit)