Makefile 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. SHELL := /bin/bash
  2. # Variables definitions
  3. # -----------------------------------------------------------------------------
  4. DEFAULT_MODEL_PATH := ./mlmodels/
  5. ifeq ($(API_KEY),)
  6. API_KEY := $(python -c "import uuid;print(str(uuid.uuid4()))")
  7. endif
  8. # Target section and Global definitions
  9. # -----------------------------------------------------------------------------
  10. .PHONY: all clean test install run deploy down
  11. all: clean test install run deploy down
  12. test:
  13. python -m pip install --upgrade pip && pip install setuptools tox
  14. tox
  15. install: generate_dot_env
  16. pip install --upgrade pip && pip install -r requirements.txt
  17. run:
  18. - python -c "import subprocess;print(subprocess.run(['hostname','-I'],capture_output=True,text=True).stdout.strip())"
  19. PYTHONPATH=hfapi/ uvicorn hfapi.main:app --reload --host 0.0.0.0
  20. build: generate_dot_env
  21. docker compose build
  22. deploy: generate_dot_env
  23. docker compose build
  24. docker compose up -d
  25. down:
  26. docker compose down
  27. generate_dot_env:
  28. @if [[ ! -e .env ]]; then \
  29. cp .env.example .env; \
  30. fi
  31. clean:
  32. -find . -name '*.pyc' -exec rm -rf {} \;
  33. -find . -name '__pycache__' -exec rm -rf {} \;
  34. -find . -name 'Thumbs.db' -exec rm -rf {} \;
  35. -find . -name '*~' -exec rm -rf {} \;
  36. -rm -rf .cache
  37. -rm -rf build
  38. -rm -rf dist
  39. -rm -rf *.egg-info
  40. -rm -rf htmlcov*
  41. -rm -rf .tox/
  42. -rm -rf docs/_build
  43. -rm -r .coverage
  44. -rm -rf .pytest_cache