-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
141 lines (101 loc) · 3.13 KB
/
Makefile
File metadata and controls
141 lines (101 loc) · 3.13 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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#########
# BUILD #
#########
.PHONY: develop build install
develop: ## install dependencies and build library
uv pip install -e .[develop]
build: ## build the python library
python -m build -n
install: ## install library
uv pip install .
#########
# LINTS #
#########
.PHONY: lint lints fix format
lint: ## run python linter with ruff
python -m ruff check voidorchestra
python -m ruff format --check voidorchestra
# Alias
lints: lint
fix: ## fix python formatting with ruff
python -m ruff check --fix voidorchestra
python -m ruff format voidorchestra
# alias
format: fix
################
# Other Checks #
################
.PHONY: check-manifest checks check
check-manifest: ## check python sdist manifest with check-manifest
check-manifest -v
checks: check-manifest
# Alias
check: checks
#########
# TESTS #
#########
.PHONY: test coverage tests
test: ## run python tests
python -m pytest -v voidorchestra/tests
coverage: ## run tests and collect test coverage
python -m pytest -v voidorchestra/tests --cov=voidorchestra --cov-report term-missing --cov-report xml
# Alias
tests: test
###########
# VERSION #
###########
.PHONY: show-version patch minor major
show-version: ## show current library version
@bump-my-version show current_version
patch: ## bump a patch version
@bump-my-version bump patch
minor: ## bump a minor version
@bump-my-version bump minor
major: ## bump a major version
@bump-my-version bump major
########
# DIST #
########
.PHONY: dist dist-build dist-sdist dist-local-wheel publish
dist-build: # build python dists
python -m build -w -s
dist-check: ## run python dist checker with twine
python -m twine check dist/*
dist: clean dist-build dist-check ## build all dists
publish: dist # publish python assets
#########
# CLEAN #
#########
.PHONY: deep-clean clean
deep-clean: ## clean everything from the repository
git clean -fdx
clean: ## clean the repository
rm -rf .coverage coverage cover htmlcov logs build dist *.egg-info
############################################################################################
.PHONY: help
# Thanks to Francoise at marmelab.com for this
.DEFAULT_GOAL := help
help:
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
print-%:
@echo '$*=$($*)'
############################################################################################
# Project Commands
############################################################################################
database:
uv run voidorchestra --debug delete database
uv run voidorchestra --debug delete sonifications --hard
uv run voidorchestra --debug init database
fixtures:
uv run voidorchestra --debug delete soundfonts
uv run voidorchestra --debug delete profiles
uv run voidorchestra --debug input soundfonts
uv run voidorchestra --debug input profiles
synthetic:
uv run scripts/generate_synthetic_lightcurves.py
observed:
uv run scripts/import_observed_lightcurves.py
sonifications-hard:
uv run voidorchestra --debug create sonifications --regenerate
sonifications:
uv run voidorchestra --debug create sonifications