Provides a decorator and a function to simplify the management of complex configurations for applications using YAML files. The key features include:
- unlock decorator: It parses and injects configuration arguments into a main function from a YAML file. Given the name of the configuration file and an optional path to the directory containing the file, this decorator reads the configuration, creates an argument parser, and adds the arguments from the configuration to the parser. The arguments are then passed to the decorated main function.
- instantiate function: It instantiates a class object using a dictionary of keyword arguments. The dictionary should contain the keys "kwargs" and "target" to specify the class to instantiate and its arguments. This function is useful for dynamically creating class instances with their configurations at runtime.
By using this tool, you can easily manage complex configurations for your applications and dynamically load classes and their arguments at runtime.