# === SETUP COMMANDS === # .PHONY: install install-dev fmt format lint lint-fix type-check check clean \ oklisten-prepare oklisten-run oklisten-postprocess install: ## Install the package (production dependencies only) uv sync --no-dev install-dev: ## Install the package with development dependencies uv sync fmt: format ## Format code with ruff (alias) format: ## Format code with ruff uv run ruff format . lint: ## Lint code with ruff uv run ruff check . lint-fix: ## Lint and fix code with ruff uv run ruff check --fix . type-check: ## Run type checking with mypy uv run mypy src/ check: lint type-check ## Run all checks (lint and type-check) # === OKLISTEN PIPELINE === # oklisten-prepare: ## Step 1 — transform AccountsDet.csv → runner-ready CSV uv run python src/pipelines/oklisten/1_prepare.py \ --input "data/input/OKListen Phase 2 Account Integration - AccountsDet.csv" \ --output data/input/oklisten_vendors.csv oklisten-run: ## Step 2 — call POST /v2/vendors for every row uv run python src/bulk_runner.py \ --config configs/create_vendor.json \ --csv data/input/oklisten_vendors.csv oklisten-postprocess: ## Step 3 — extract vendor IDs/UUIDs from responses JSON uv run python src/pipelines/oklisten/3_postprocess.py \ data/output/oklisten_vendors_responses.json \ --runner-csv data/input/oklisten_vendors.csv \ --accounts-csv "data/input/OKListen Phase 2 Account Integration - AccountsDet.csv" clean: ## Clean build artifacts rm -rf build/ rm -rf dist/ rm -rf *.egg-info/ find . -type f -name "*.pyc" -delete find . -type d -name "__pycache__" -delete