-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakefile
38 lines (25 loc) · 823 Bytes
/
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
PYTHON_FILES := custom_logger.py main.py utils.py video_processor.py validate.py ffmpeg_configs.py
.PHONY: format ruff-check mypy-strict pyright-check check coverage security radon radon-mi vulture
# main check (Enforced before commit)
format:
ruff format --line-length 120 .
ruff-check:
ruff check --fix --unsafe-fixes $(PYTHON_FILES)
mypy-strict:
mypy --strict $(PYTHON_FILES)
pyright-check:
pyright $(PYTHON_FILES)
check: format ruff-check mypy-strict pyright-check
# Additional analysis checks (not Enforced)
coverage:
coverage run -m pytest
coverage report -m
coverage html
security:
ruff check --extend-select S --fix
radon: # cyclomatic complexity
radon cc -a -nc -s $(PYTHON_FILES)
radon-mi: # maintainability index
radon mi -s $(PYTHON_FILES)
vulture: # unused code
vulture $(PYTHON_FILES)