@staticmethod<EOL><INDENT>def find_project_directory(start_path) -> str:<DEDENT>
start_path = os.path.realpath(start_path)<EOL>possible_name = os.path.join(start_path, ModelConfig.PROJECT_FILE_NAME)<EOL>if os.path.exists(possible_name):<EOL><INDENT>return start_path<EOL><DEDENT>else:<EOL><INDENT>up_path = os.path.realpath(os.path.join(start_path, '<STR_LIT:..>'))<EOL>if os.path.realpath(start_path) == up_path:<EOL><INDENT>raise RuntimeError(f"<STR_LIT>")<EOL><DEDENT>else:<EOL><INDENT>return ModelConfig.find_project_directory(up_path)<EOL><DEDENT><DEDENT>
Locate top-level project directory