-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathMakefile
More file actions
69 lines (50 loc) · 1.63 KB
/
Makefile
File metadata and controls
69 lines (50 loc) · 1.63 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
lab:
jupyter lab
notebook:
jupyter notebook
linkcheck:
ruby ./extras/scripts/broken_links.rb
slides:
jupyter nbconvert --to slides \
--SlidesExporter.reveal_scroll=True \
--post serve lecture_$(lec).ipynb
test:
pytest
# overridden in update.sh
file := .
format:
ruff format $(file)
# https://jupyterbook.org/en/stable/content/references.html#check-for-missing-references
site:
jupyter-book build --all -W -n --keep-going .
setup:
python -m venv .venv
. .venv/bin/activate && \
pip install \
-r requirements.txt \
-r extras/autograder/source/requirements.txt
update_packages:
. .venv/bin/activate && \
pip install --upgrade pip && \
pip install --upgrade -r requirements.txt
./extras/scripts/update_lectures.sh
@echo "Please update homework notebooks separately, in python-public-policy-assignments"
# based on https://gradescope-autograders.readthedocs.io/en/latest/manual_docker/
autograde:
mkdir -p ./extras/autograder/results ./extras/autograder/results
docker run --rm \
-v ./extras/autograder:/autograder \
gradescope/autograder-base \
/bin/bash -c "/autograder/source/setup.sh && /autograder/source/run_autograder"
cat ./extras/autograder/results/results.json
build_autograder:
# https://stackoverflow.com/a/17351814/358804
git archive -o ./extras/autograder.zip HEAD:./extras/autograder/source
@echo "Now upload extras/autograder.zip to Gradescope."
build_dir := _build
clean:
rm -rf $(build_dir)
# https://github.com/jupyter-book/jupyter-book/issues/2271
# https://stackoverflow.com/a/1583282/358804
fix_double_escaping:
find $(build_dir)/html -name '*.html' -print0 | xargs -0 sed -i 's/&/\&/g'