def run()

in auto_sizing/size_calculation.py [0:0]


    def run(self, current_date: datetime) -> None:
        time_limits = self._validate_requested_timelimits(current_date)

        ht = HistoricalTarget(
            experiment_name=self.config.target_slug,
            start_date=self.config.start_date,
            analysis_length=self.config.analysis_length,
            num_dates_enrollment=self.config.num_dates_enrollment,
        )

        metrics_table, metrics_table_name = self.calculate_metrics(time_limits=time_limits, ht=ht)
        print(f"Metrics table saved at {metrics_table_name}")

        results_combined = {}

        if len(metrics_table) == 0:
            print("No clients satisfied targeting.")
            return

        for parameters in self.config.parameters:
            res = self.calculate_sample_sizes(metrics_table=metrics_table, parameters=parameters)
            res["parameters"] = parameters
            results_combined[
                f"Power{str(parameters['power'])}EffectSize{str(parameters['effect_size'])}"
            ] = res

        self.publish_results(results_combined, current_date.strftime("%Y-%m-%d"))