-include .env export VENV := .venv UVICORN := $(VENV)/bin/uvicorn TEST_DEPS := $(VENV)/.test-deps K3S_BTCDATA_PORT := 4100 .PHONY: clean run run-local run-citadel run-k3s tailwind test venv venv: $(UVICORN) $(UVICORN): requirements.txt python3 -m venv $(VENV) $(VENV)/bin/pip install --upgrade pip $(VENV)/bin/pip install -r requirements.txt clean: rm -rf __pycache__ app/__pycache__ run: venv $(UVICORN) app.main:app --host 0.0.0.0 --port 4000 --reload run-local: venv BTCDATA_URL=$(BTCDATA_LOCAL_URL) $(UVICORN) app.main:app --host 0.0.0.0 --port 4000 --reload run-citadel: venv BTCDATA_URL=$(BTCDATA_URL) $(UVICORN) app.main:app --host 0.0.0.0 --port 4000 --reload run-k3s: venv kubectl -n btcdata port-forward service/btcdata $(K3S_BTCDATA_PORT):4101 & \ port_forward_pid=$$!; \ trap 'kill $$port_forward_pid' EXIT INT TERM; \ BTCDATA_URL=http://127.0.0.1:$(K3S_BTCDATA_PORT) $(UVICORN) app.main:app --host 0.0.0.0 --port 4000 --reload tailwind: npm run css:watch $(TEST_DEPS): requirements-dev.txt requirements.txt | venv $(VENV)/bin/pip install -r requirements-dev.txt touch $(TEST_DEPS) test: venv $(TEST_DEPS) $(VENV)/bin/python -m pytest tests/