-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
139 lines (113 loc) · 2.75 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
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#SHELL := /bin/bash
# make a parameter to save date and time of execution
DATE := $(shell date +%Y-%m-%d_%H-%M-%S)
# make a new requirements.txt file
.PHONY: new-requirements
new-requirements:
@touch requirements.txt
# update pip
.PHONY: update-pip
update-pip:
@echo "Updating pip..."
@pip install --upgrade pip
# install required packages
.PHONY: install_requirements
install_requirements:
@make update-pip
@echo "Installing required packages..."
@pip install -r requirements.txt
@pip install -r requirements-test.txt
# get all pip list packages and save to requirements.txt
.PHONY: freeze
freeze:
@echo "Freezing requirements..."
@pip freeze > requirements.txt
# deactivate the virtual environment
.PHONY: deactivate
deactivate:
@echo "Deactivating virtual environment..."
@deactivate
# remove the folder dataset
#.PHONY: remove-dataset
#remove-dataset:
# @echo "Removing dataset folder..."
# @rm -rf dataset
# commit to repository
.PHONY: commit
commit:
@run-flake8
@run-black
@echo "Commiting to repository..."
@git add .
@git commit -m "Update: $(DATE)"
@git push origin master
# run the flake8 script on all python files in the src folder
.PHONY: run-flake8
run-flake8:
isort neural_network_model/*.py
isort tests/*.py
isort chat/*.py
flake8 neural_network_model/*.py
flake8 tests/*.py
flake8 chat/*.py
# lint
.PHONY: run_flake8
lint:
@echo "flake8..."
@flake8 neural_network_model/*.py
@flake8 tests/*.py
# run black on all python files in the src folder
.PHONY: run-black
run-black:
black neural_network_model/*.py
black tests/*.py
# pip freeze
.PHONY: pip-freeze
pip-freeze:
@pip freeze > requirements.txt
# if a file like .env is not ignored although it should be, run this command
.PHONY: remove-env
remove-env:
@git rm -r --cached .env
# build tha package
.PHONY: build
build:
@python3 -m build
@python setup.py bdist_wheel sdist
# check using twine if the dist/*
.PHONY: check
check:
@twine check dist/*
# upload to test pypi
.PHONY: upload-test
upload-test:
@twine upload --repository testpypi dist/*
# upload to pypi
.PHONY: upload
upload:
@twine upload dist/*
# remove some dir folders
.PHONY: remove
remove:
@rm -rf dataset dataset_augmented dataset_train_test_val deep_model s3_dataset dist drillvision.egg-info
.PHONY: remove2
remove2:
@rm -rf dist drillvision.egg-info build
# run tests
.PHONY: test
test:
@python -m pytest -v
# run tests with coverage
.PHONY: test-coverage
test-coverage:
@python -m pytest --cov=neural_network_model --cov-report=html
# show the coverage report in the terminal
@python -m pytest --cov=neural_network_model --cov-report=term-missing
# git rm cache
.PHONY: git-rm-cache
git-rm-cache:
@git rm -r --cached .
# find files with a specific name
.PHONY: find
find:
@find . -name "dataset" -type d