|
1 | | -launch: |
| 1 | +.PHONY: install install-dev sync dev api run lint lint-fix check pre-commit pre-commit-install docker-build docker-run launch clean |
| 2 | + |
| 3 | +# Install dependencies |
| 4 | +install: |
| 5 | + uv sync --no-dev |
| 6 | + |
| 7 | +# Install with dev dependencies |
| 8 | +install-dev: |
| 9 | + uv sync --all-extras |
| 10 | + |
| 11 | +# Sync dependencies (alias for install-dev) |
| 12 | +sync: |
| 13 | + uv sync --all-extras |
| 14 | + |
| 15 | +# Start local dev server |
| 16 | +dev: |
| 17 | + uv run uvicorn api.api:app --reload --port 8000 |
| 18 | + |
| 19 | +# Start API server (production-like) |
| 20 | +api: |
| 21 | + uv run uvicorn api.api:app --host 0.0.0.0 --port 8080 |
| 22 | + |
| 23 | +# Run the data extraction pipeline |
| 24 | +run: |
| 25 | + uv run python run.py |
| 26 | + |
| 27 | +# Linting and formatting check |
| 28 | +lint: |
| 29 | + uv run ruff check . |
| 30 | + uv run ruff format --check . |
| 31 | + uv run mypy . --ignore-missing-imports |
| 32 | + |
| 33 | +# Auto-fix linting issues |
| 34 | +lint-fix: |
| 35 | + uv run ruff check --fix . |
| 36 | + uv run ruff format . |
| 37 | + |
| 38 | +# Run all checks (lint + type check) |
| 39 | +check: lint |
| 40 | + |
| 41 | +# Run pre-commit hooks on all files |
| 42 | +pre-commit: |
| 43 | + uv run pre-commit run --all-files |
| 44 | + |
| 45 | +# Install pre-commit hooks |
| 46 | +pre-commit-install: |
| 47 | + uv run pre-commit install |
| 48 | + |
| 49 | +# Build Docker image |
| 50 | +docker-build: |
2 | 51 | echo ${OPENAI_API_KEY} > mysecret.txt |
3 | 52 | docker build --secret id=OPENAI_API_KEY,src=mysecret.txt -t knowledge . |
| 53 | + rm -f mysecret.txt |
| 54 | + |
| 55 | +# Run Docker container |
| 56 | +docker-run: |
4 | 57 | docker run -d --add-host host.docker.internal:host-gateway --name run_knowledge -p 8080:8080 knowledge |
5 | 58 |
|
6 | | -local-dev-api: |
7 | | - uvicorn api.api:app --reload |
| 59 | +# Build and run Docker (legacy command) |
| 60 | +launch: docker-build docker-run |
8 | 61 |
|
9 | | -# Start local dev server using uv |
10 | | -dev: |
11 | | - uv run uvicorn api.api:app --reload --port 8000 |
| 62 | +# Stop and remove Docker container |
| 63 | +docker-stop: |
| 64 | + docker stop run_knowledge || true |
| 65 | + docker rm run_knowledge || true |
12 | 66 |
|
13 | | -# Install dependencies with uv |
14 | | -install: |
15 | | - uv pip install -r requirements.txt |
| 67 | +# Clean up |
| 68 | +clean: |
| 69 | + rm -rf .venv |
| 70 | + rm -rf __pycache__ |
| 71 | + rm -rf .mypy_cache |
| 72 | + rm -rf .ruff_cache |
| 73 | + find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true |
| 74 | + find . -type f -name "*.pyc" -delete 2>/dev/null || true |
0 commit comments