| .PHONY: help install dev train infer test lint format clean distclean |
|
|
| |
| PYTHON := python3 |
| VENV := .venv |
| VENV_PYTHON := $(VENV)/bin/python |
|
|
| |
| help: |
| @echo "Namer - Number to Name Transformer" |
| @echo "" |
| @echo "Available targets:" |
| @echo " make install - Install package in development mode" |
| @echo " make dev - Install with dev dependencies" |
| @echo " make train - Train the model" |
| @echo " make infer - Run interactive inference" |
| @echo " make test - Run test suite" |
| @echo " make lint - Run linting (ruff)" |
| @echo " make format - Format code (ruff)" |
| @echo " make typecheck - Run type checking (mypy)" |
| @echo " make clean - Remove generated files and caches" |
| @echo " make distclean - Deep clean including venv" |
| @echo "" |
|
|
| |
| $(VENV): |
| @echo "Creating virtual environment..." |
| $(PYTHON) -m venv $(VENV) |
| $(VENV_PYTHON) -m pip install --upgrade pip |
|
|
| |
| install: $(VENV) |
| @echo "Installing package..." |
| $(VENV_PYTHON) -m pip install -e . |
|
|
| |
| dev: $(VENV) |
| @echo "Installing with dev dependencies..." |
| $(VENV_PYTHON) -m pip install -e ".[dev]" |
|
|
| |
| train: $(VENV) |
| @echo "Starting training..." |
| $(VENV_PYTHON) -m namer train |
|
|
| |
| infer: $(VENV) |
| @echo "Starting inference..." |
| $(VENV_PYTHON) -m namer infer |
|
|
| |
| test: $(VENV) |
| @echo "Running tests..." |
| $(VENV_PYTHON) -m pytest -v |
|
|
| |
| test-cov: $(VENV) |
| @echo "Running tests with coverage..." |
| $(VENV_PYTHON) -m pytest --cov=namer --cov-report=html --cov-report=term |
|
|
| |
| lint: $(VENV) |
| @echo "Running ruff linter..." |
| $(VENV_PYTHON) -m ruff check namer tests |
|
|
| |
| lint-fix: $(VENV) |
| @echo "Fixing linting issues..." |
| $(VENV_PYTHON) -m ruff check --fix namer tests |
|
|
| |
| format: $(VENV) |
| @echo "Formatting code..." |
| $(VENV_PYTHON) -m ruff format namer tests |
|
|
| |
| typecheck: $(VENV) |
| @echo "Running mypy..." |
| $(VENV_PYTHON) -m mypy namer |
|
|
| |
| check: lint typecheck test |
| @echo "All checks passed!" |
|
|
| |
| clean: |
| @echo "Cleaning generated files..." |
| rm -f namer_model.pt |
| rm -rf htmlcov .pytest_cache .coverage |
| find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true |
| find . -type f -name "*.pyc" -delete |
| find . -type f -name "*.pyo" -delete |
| find . -type d -name "*.egg-info" -exec rm -rf {} + 2>/dev/null || true |
| @echo "Clean complete!" |
|
|
| |
| distclean: clean |
| @echo "Removing virtual environment..." |
| rm -rf $(VENV) |
| @echo "All clean! Run 'make dev' to start fresh." |
|
|