forked from f-dangel/backpack
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmakefile
More file actions
120 lines (99 loc) · 2.73 KB
/
makefile
File metadata and controls
120 lines (99 loc) · 2.73 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
.PHONY: help
.PHONY: black black-check flake8
.PHONY: install install-dev install-devtools install-test install-lint install-docs
.PHONY: test
.PHONY: conda-env
.PHONY: black isort format
.PHONY: black-check isort-check format-check
.PHONY: flake8
.PHONY: pydocstyle-check
.PHONY: darglint-check
.PHONY: build-docs
.DEFAULT: help
help:
@echo "test"
@echo " Run pytest on the project and report coverage"
@echo "black"
@echo " Run black on the project"
@echo "black-check"
@echo " Check if black would change files"
@echo "flake8"
@echo " Run flake8 on the project"
@echo "pydocstyle-check"
@echo " Run pydocstyle on the project"
@echo "darglint-check"
@echo " Run darglint on the project"
@echo "install"
@echo " Install backpack and dependencies"
@echo "install-dev"
@echo " Install all development tools"
@echo "install-lint"
@echo " Install only the linter tools (included in install-dev)"
@echo "install-test"
@echo " Install only the testing tools (included in install-dev)"
@echo "install-docs"
@echo " Install only the tools to build/view the docs (included in install-dev)"
@echo "conda-env"
@echo " Create conda environment 'backpack' with dev setup"
@echo "build-docs"
@echo " Build the docs"
###
# Test coverage
test:
@pytest -vx --cov=backpack .
###
# Linter and autoformatter
# Uses black.toml config instead of pyproject.toml to avoid pip issues. See
# - https://github.com/psf/black/issues/683
# - https://github.com/pypa/pip/pull/6370
# - https://pip.pypa.io/en/stable/reference/pip/#pep-517-and-518-support
black:
@black . --config=black.toml
black-check:
@black . --config=black.toml --check
flake8:
@flake8 .
pydocstyle-check:
@pydocstyle --count .
darglint-check:
@darglint --verbosity 2 .
isort:
@isort --apply
isort-check:
@isort --check
format:
@make black
@make isort
@make black-check
format-check: black-check isort-check pydocstyle-check darglint-check
###
# Installation
install:
@pip install -r requirements.txt
@pip install .
install-lint:
@pip install -r requirements/lint.txt
install-test:
@pip install -r requirements/test.txt
install-docs:
@pip install -r requirements/docs.txt
install-devtools:
@echo "Install dev tools..."
@pip install -r requirements-dev.txt
install-dev: install-devtools
@echo "Install dependencies..."
@pip install -r requirements.txt
@echo "Uninstall existing version of backpack..."
@pip uninstall backpack-for-pytorch
@echo "Install backpack in editable mode..."
@pip install -e .
@echo "Install pre-commit hooks..."
@pre-commit install
###
# Conda environment
conda-env:
@conda env create --file .conda_env.yml
###
# Documentation
build-docs:
@cd docs_src/rtd && make html