text: # Copyright 2020 Adap GmbH. 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.
  # ==============================================================================
  """DEPRECATED Configurable strategy implementation.
  
  DEPRECATION WARNING: use FedAvg instead.
  """
  
  
  from typing import Callable, Dict, Optional, Tuple
  
  from flwr.common import Scalar, Weights
  
  from .fedavg import FedAvg
  
  
  class DefaultStrategy(FedAvg):
      """DEPRECATED Configurable default strategy.
  
      DEPRECATION WARNING: use FedAvg instead.
      """
  
      # pylint: disable=too-many-arguments
      def __init__(
          self,
          fraction_fit: float = 0.1,
          fraction_eval: float = 0.1,
          min_fit_clients: int = 1,
          min_eval_clients: int = 1,
          min_available_clients: int = 1,
          eval_fn: Optional[Callable[[Weights], Optional[Tuple[float, float]]]] = None,
          on_fit_config_fn: Optional[Callable[[int], Dict[str, Scalar]]] = None,
          on_evaluate_config_fn: Optional[Callable[[int], Dict[str, Scalar]]] = None,
          accept_failures: bool = True,
          initial_parameters: Optional[Weights] = None,
      ) -> None:
          super().__init__(
              fraction_fit=fraction_fit,
              fraction_eval=fraction_eval,
              min_fit_clients=min_fit_clients,
              min_eval_clients=min_eval_clients,
              min_available_clients=min_available_clients,
              eval_fn=eval_fn,
              on_fit_config_fn=on_fit_config_fn,
              on_evaluate_config_fn=on_evaluate_config_fn,
              accept_failures=accept_failures,
              initial_parameters=initial_parameters,
          )
          warning = """
          DEPRECATION WARNING: DefaultStrategy is deprecated, migrate to FedAvg.
  
          DefaultStrategy will be removed in a future release. Migrate to FedAvg
          (which is functionally equivalent).
          """
          print(warning)
  