Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
66 lines (51 loc) · 1.82 KB
/
Copy pathMakefile
File metadata and controls
66 lines (51 loc) · 1.82 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
.PHONY: help install run dev test test-verbose clean docker-build docker-run docker-stop docker-logs docker-clean
help:
@echo Available commands:
@echo make install - Install dependencies using Poetry
@echo make run - Run FastAPI application
@echo make dev - Run FastAPI with auto-reload
@echo make test - Run tests with Pytest
@echo make test-verbose - Run tests with verbose output
@echo make clean - Remove cache and temporary files
@echo make lint - Run lint on whole project
@echo ""
@echo Docker commands:
@echo make docker-build - Build Docker image
@echo make docker-run - Run application in Docker using docker-compose
@echo make docker-stop - Stop Docker containers
@echo make docker-logs - View Docker container logs
@echo make docker-clean - Remove Docker containers and images
@echo make docker-shell - Open shell in running container
lint:
poetry run black .
poetry run isort .
poetry run ruff check --fix
poetry run mypy --namespace-packages --explicit-package-bases src
install:
poetry install
run: install
poetry run uvicorn aim.main:app --host 0.0.0.0 --port 8000
dev: install
poetry run uvicorn aim.main:app --host 0.0.0.0 --port 8000 --reload
test: install
poetry run pytest
test-verbose: install
poetry run pytest -v
clean:
find . -type d -name "__pycache__" -exec rm -rf {} +
find . -type d -name ".pytest_cache" -exec rm -rf {} +
find . -type f -name "*.pyc" -delete
# Docker commands
docker-build:
docker build -t aim-classifier-api:latest .
docker-run:
docker-compose up -d
docker-stop:
docker-compose down
docker-logs:
docker-compose logs -f
docker-clean:
docker-compose down -v
docker rmi aim-classifier-api:latest || true
docker-shell:
docker-compose exec app /bin/bash