# All commands requires the conda environment to be activated
#
# > conda activate <env_name>
.ONESHELL:
.PHONY: help setup format check test update lockfile doc

help: ## Show this help message
	@egrep -h '\s##\s' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m  %-30s\033[0m %s\n", $$1, $$2}'

datagen: # Run the benchmark with default parameters
	python -m src.syngen.main dataset=churn_modelling datagen_method=cttvae seed=42 datagen_method.params.sampling_strategy=all

# Run multiple experiments using Hydra
multi_datagen:
	python -m src.syngen.main --multirun datagen_method=cttvae,cttvae_tbs dataset=adult,default_cc launcher=slurm_gpu
#########################################
# Dev tools
#########################################

setup: ## Install packages
	pip install --upgrade -e .

update: ## Update the conda environment
	mamba env update -f environment.yml --prune
	make lockfile

lockfile: ## Génère un lockfile reproductible (solution contournement avec conda)
	conda env export --no-builds | grep -v "^prefix:" > environment.lock.yml

create_env: ## Create a new Conda environment 
	mamba env create -f environment.yml
