def _load_experiment_config()

in jetstream/cli.py [0:0]


        def _load_experiment_config(experiment_config):
            # get first updated timestamp for experiment
            first_updated = client.experiment_table_first_updated(experiment_config.normandy_slug)

            # get the configs that were the most recent when the experiment was last updated
            config_collection = config_getter.configs.as_of(first_updated)
            spec = AnalysisSpec.default_for_experiment(experiment_config, config_collection)

            if self.configuration_map and experiment_config.normandy_slug in self.configuration_map:
                if isinstance(
                    self.configuration_map[experiment_config.normandy_slug], AnalysisSpec
                ):
                    spec.merge(self.configuration_map[experiment_config.normandy_slug])
                else:
                    config_dict = toml.load(self.configuration_map[experiment_config.normandy_slug])
                    spec.merge(AnalysisSpec.from_dict(config_dict))
            else:
                if external_spec := config_collection.spec_for_experiment(
                    experiment_config.normandy_slug
                ):
                    spec.merge(external_spec)

            return spec.resolve(experiment_config, config_collection)