





# Copyright 2021 The HuggingFace Team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import argparse

from .config import config_command_parser
from .config_args import default_config_file, load_config_from_file  # noqa: F401
from .default import default_command_parser
from .update import update_command_parser






def 				SCREAMING_SNAKE_CASE__							(       UpperCamelCase__:							Any=None    ):
		SCREAMING_SNAKE_CASE__			=      argparse.ArgumentParser(add_help=UpperCamelCase__					,   allow_abbrev=UpperCamelCase__    )
		# The main config parser
		SCREAMING_SNAKE_CASE__			=      config_command_parser(UpperCamelCase__    )
		# The subparser to add commands to
		SCREAMING_SNAKE_CASE__			=      config_parser.add_subparsers(title="""subcommands"""					,   dest="""subcommand"""    )

		# Then add other parsers with the parent parser
		default_command_parser(UpperCamelCase__					,   parents=[parent_parser]    )
		update_command_parser(UpperCamelCase__					,   parents=[parent_parser]    )

		return config_parser






def 				SCREAMING_SNAKE_CASE__							(       ):
		SCREAMING_SNAKE_CASE__			=      get_config_parser()
		SCREAMING_SNAKE_CASE__			=      config_parser.parse_args()

		if not hasattr(UpperCamelCase__					,   """func"""    ):
				config_parser.print_help()
				exit(1    )

		# Run
		args.func(UpperCamelCase__    )


if __name__ == "__main__":
	main()






import inspect
import unittest




class   UpperCamelCase_       (     unittest.TestCase    ):


							def      _snake_case  (							self    :str		)   ->   Union[str, Any]:



									"""simple docstring"""



									try:
											import diffusers  # noqa: F401
									except ImportError:
											assert False


							def      _snake_case  (							self    :Any		)   ->   Any:



									"""simple docstring"""



									import diffusers
									from diffusers.dependency_versions_table import deps

									SCREAMING_SNAKE_CASE__			=      inspect.getmembers(__A							,				inspect.isclass		)

									for cls_name, cls_module in all_classes:
											if "dummy_" in cls_module.__module__:
													for backend in cls_module._backends:
															if backend == "k_diffusion":
																	SCREAMING_SNAKE_CASE__			=      """k-diffusion"""
															elif backend == "invisible_watermark":
																	SCREAMING_SNAKE_CASE__			=      """invisible-watermark"""
															assert backend in deps, f'''{backend} is not in the deps table!'''