Spaces:
Running
Running
| # Lawn Estimator — dev tasks. | |
| # | |
| # On CI (and in an activated env) the tools are on PATH, so `make test` just works. | |
| # Locally on Windows the project runs inside the vendored ./conda-env, so prefix | |
| # with the conda runner, e.g.: | |
| # | |
| # make test RUN="c:/Users/sergi/miniconda3/Scripts/conda.exe run -p ./conda-env --no-capture-output" | |
| # | |
| # (RUN defaults to empty — bare commands.) | |
| RUN ?= | |
| .DEFAULT_GOAL := help | |
| .PHONY: help install lint format test smoke tune label | |
| help: ## Show this help | |
| @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \ | |
| awk 'BEGIN{FS=":.*?## "}{printf " %-10s %s\n", $$1, $$2}' | |
| install: ## Install the package with API + dev extras | |
| $(RUN) python -m pip install -e ".[api,dev]" | |
| lint: ## Ruff lint (src + tests + tuning) | |
| $(RUN) ruff check src tests tuning | |
| format: ## Ruff auto-format (opt-in; not run in CI) | |
| $(RUN) ruff format src tests tuning | |
| test: ## Run the fast, zero-network test suite | |
| $(RUN) python -m pytest | |
| smoke: ## Live one-address run (needs network; not run in CI) | |
| $(RUN) lawn-estimator --address "14052 Hartman Ave, Omaha, NE 68164" --imagery naip | |
| tune: ## Launch the offline pipeline-tuning cockpit (needs the [tuning] extra) | |
| $(RUN) python -m tuning.app | |
| label: ## Launch the standalone gold-labeling app (for a helper; needs the [tuning] extra) | |
| $(RUN) python -m tuning.label_app | |