parasolpy.interactive

Interactive CLI helpers for epsilon experiment workflows.

These functions handle user prompting and input validation; they contain no analysis logic. Import them in scripts that need a terminal-based interface for iterating on epsilon non-dominance parameters.

Functions

load_experiment_epsilons(output_folder, ...)

Load epsilon defaults from a saved experiment JSON file.

prompt_epsilons(objective_names, ...)

Prompt for an epsilon value per objective, carrying forward the current value as default.

prompt_experiment_name([prompt_text])

Prompt the user for a filesystem-safe experiment name.

prompt_starting_epsilons(output_folder, ...)

Optionally seed starting epsilons from a previously saved experiment.

Exceptions

ExitInteractiveSession

Raised when the user requests to exit an interactive CLI workflow.

exception parasolpy.interactive.ExitInteractiveSession[source]

Bases: Exception

Raised when the user requests to exit an interactive CLI workflow.

parasolpy.interactive.prompt_experiment_name(prompt_text='\nExperiment name: ')[source]

Prompt the user for a filesystem-safe experiment name.

Returns:

A sanitized, non-empty experiment name suitable for use in filenames.

Return type:

str

parasolpy.interactive.prompt_epsilons(objective_names, current_epsilons)[source]

Prompt for an epsilon value per objective, carrying forward the current value as default.

Parameters:
  • objective_names – List of objective name strings shown as labels.

  • current_epsilons – List of current epsilon floats used as defaults.

Returns:

New epsilon values, one per objective.

Return type:

list of float

parasolpy.interactive.load_experiment_epsilons(output_folder, experiment_name, objective_names)[source]

Load epsilon defaults from a saved experiment JSON file.

Parameters:
  • output_folder – Folder containing per-experiment JSON files.

  • experiment_name – Experiment suffix used in eps_experiment_<name>.json.

  • objective_names – Ordered list of objectives to align the returned epsilons.

Returns:

Epsilons ordered to match objective_names.

Return type:

list of float

parasolpy.interactive.prompt_starting_epsilons(output_folder, objective_names, default_epsilons)[source]

Optionally seed starting epsilons from a previously saved experiment.

If no prior experiment is chosen, returns default_epsilons unchanged along with None for the experiment name.