@staticmethod
def read_from(command_argument: command_arguments.CommandArguments, base_directory: Path) -> 'PyreServerStartOptions':
    configuration = configuration_module.create_configuration(command_argument, base_directory)
    binary_location = configuration.get_binary_respecting_override()
    if (binary_location is None):
        raise configuration_module.InvalidConfiguration('Cannot locate a Pyre binary to run.')
    start_arguments = start.create_server_arguments(configuration, command_arguments.StartArguments(changed_files_path=command_argument.changed_files_path, debug=command_argument.debug, enable_memory_profiling=command_argument.enable_memory_profiling, enable_profiling=command_argument.enable_profiling, load_initial_state_from=command_argument.load_initial_state_from, log_identifier=command_argument.log_identifier, logging_sections=command_argument.logging_sections, no_saved_state=command_argument.no_saved_state, no_watchman=False, noninteractive=command_argument.noninteractive, save_initial_state_to=command_argument.save_initial_state_to, saved_state_project=command_argument.saved_state_project, sequential=command_argument.sequential, show_error_traces=command_argument.show_error_traces, store_type_check_resolution=False, terminal=False, wait_on_initialization=True))
    if (start_arguments.watchman_root is None):
        raise commands.ClientException("Cannot locate a `watchman` root. Pyre's server will not function properly.")
    return PyreServerStartOptions(binary=binary_location, server_identifier=start.get_server_identifier(configuration), start_arguments=start_arguments, ide_features=configuration.ide_features, strict_default=configuration.strict, excludes=configuration.excludes)
@staticmethod
def read_from(command_argument: command_arguments.CommandArguments, base_directory: Path) -> 'PyreServerStartOptions':
    configuration = configuration_module.create_configuration(command_argument, base_directory)
    binary_location = configuration.get_binary_respecting_override()
    if (binary_location is None):
        raise configuration_module.InvalidConfiguration('Cannot locate a Pyre binary to run.')
    start_arguments = start.create_server_arguments(configuration, command_arguments.StartArguments(changed_files_path=command_argument.changed_files_path, debug=command_argument.debug, enable_memory_profiling=command_argument.enable_memory_profiling, enable_profiling=command_argument.enable_profiling, load_initial_state_from=command_argument.load_initial_state_from, log_identifier=command_argument.log_identifier, logging_sections=command_argument.logging_sections, no_saved_state=command_argument.no_saved_state, no_watchman=False, noninteractive=command_argument.noninteractive, save_initial_state_to=command_argument.save_initial_state_to, saved_state_project=command_argument.saved_state_project, sequential=command_argument.sequential, show_error_traces=command_argument.show_error_traces, store_type_check_resolution=False, terminal=False, wait_on_initialization=True))
    if (start_arguments.watchman_root is None):
        raise commands.ClientException("Cannot locate a `watchman` root. Pyre's server will not function properly.")
    return PyreServerStartOptions(binary=binary_location, server_identifier=start.get_server_identifier(configuration), start_arguments=start_arguments, ide_features=configuration.ide_features, strict_default=configuration.strict, excludes=configuration.excludes)