diff --git a/neps_examples/__init__.py b/neps_examples/__init__.py index bfc8f6aa..9f540599 100644 --- a/neps_examples/__init__.py +++ b/neps_examples/__init__.py @@ -1,5 +1,5 @@ all_main_examples = { # Used for printing in python -m neps_examples - "basic_usage": ["analyse", "architecture", "architecture_and_hyperparameters", "hpo_usage_example"], + "basic_usage": ["analyse", "architecture", "architecture_and_hyperparameters", "hpo_usage_example", "hyperparameters"], "convenience": ["logging_additional_info", "neps_tblogger_tutorial", "neps_x_lightning", "working_directory_per_pipeline"], "efficiency": ["expert_priors_for_hyperparameters", "multi_fidelity", "multi_fidelity_and_expert_priors"], } diff --git a/neps_examples/__main__.py b/neps_examples/__main__.py new file mode 100644 index 00000000..a37b826b --- /dev/null +++ b/neps_examples/__main__.py @@ -0,0 +1,27 @@ +from neps_examples import all_main_examples +from pathlib import Path + +def print_examples(): + print("The following examples are available") + for folder, examples in all_main_examples.items(): + print() + for example in examples: + print(f'python -m neps_examples.{folder}.{example}') + +def print_specific_example(example): + neps_examples_dir = Path(__file__).parent + print(neps_examples_dir) + example_file = neps_examples_dir / f"{example.replace('.', '/')}.py" + print(example_file.read_text()) + + +if __name__ == '__main__': + import argparse + parser = argparse.ArgumentParser() + parser.add_argument("--print", default=None, help="Example name to print in form of 'basic_usage.hyperparameters'") + args = parser.parse_args() + + if args.print: + print_specific_example(args.print) + else: + print_examples()