-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
41 lines (37 loc) · 1.08 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Create conda environment
# ====================================
.PHONY : env
CONDA_REQUIREMENTS=environment.yml
# Get the environment name from environment.yml
ENV=$(shell head -n 1 $(CONDA_REQUIREMENTS) | cut -f2 -d ' ')
env : $(CONDA_REQUIREMENTS)
@echo "Creating conda env '$(ENV)'."
conda env create -f $(CONDA_REQUIREMENTS)
# Run all notebooks
# ====================================
.PHONY : all
NOTEBOOKDIR=notebooks/
NOTEBOOKS=$(wildcard $(NOTEBOOKDIR)*.ipynb)
NBS=$(patsubst $(NOTEBOOKDIR)%.ipynb, %nb, $(NOTEBOOKS))
all : $(NBS)
# Run a notebook
# ====================================
TIMEOUT=600
.PHONY : %nb
%nb: $(NOTEBOOKDIR)%.ipynb
jupyter nbconvert \
--ExecutePreprocessor.timeout=$(TIMEOUT) \
--ExecutePreprocessor.kernel_name=python3 \
--to notebook \
--execute $< \
--output $(patsubst $(NOTEBOOKDIR)%.ipynb, %.ipynb, $<)
# Clean: remove intermediate results
# ====================================
.PHONY : clean
clean :
rm -rf results/*
# Uninstall the conda environment
# ====================================
.PHONY : uninstall
uninstall :
conda env remove -n $(ENV) -y