set dotenv-load
set positional-arguments

r2_prefix := env("R2_PREFIX", "data-openstreetmap-ph")

inventory:
    uv run data-openstreetmap-ph inventory

build:
    uv run data-openstreetmap-ph build

build-walk-ferry-osrm:
    uv run data-openstreetmap-ph build-walk-ferry-osrm

build-walk-ferry-road-context-osrm:
    uv run data-openstreetmap-ph build-walk-ferry-road-context-osrm

build-transport-lines:
    uv run --group derived data-openstreetmap-ph build-transport-lines

build-places-services:
    uv run --group derived data-openstreetmap-ph build-places-services

build-school-places:
    uv run --group derived data-openstreetmap-ph build-school-places

build-school-campuses:
    uv run --group derived data-openstreetmap-ph build-school-campuses

build-boundaries:
    uv run --group derived data-openstreetmap-ph build-boundaries

build-landmass-index:
    uv run --group derived data-openstreetmap-ph build-landmass-index

build-derived:
    uv run --group derived data-openstreetmap-ph build-derived

audit:
    uv run data-openstreetmap-ph audit

serve-walk-ferry-osrm port="5001":
    osrm-routed data/osrm/school_access_walk_ferry_v1/philippines-latest.osrm --algorithm mld --port {{ port }}

serve-walk-ferry-road-context-osrm port="5002":
    osrm-routed data/osrm/school_access_walk_ferry_road_context_v2/philippines-latest.osrm --algorithm mld --port {{ port }}

check:
    uv lock --check
    uv run --locked --group derived ruff check .
    uv run --locked --group derived ruff format --check .
    uv run --locked --group derived pyright
    uv run --locked --group derived pytest
    uv build --no-sources

docs:
    uv run zensical serve --dev-addr localhost:8014

docs-build:
    uv run --locked zensical build

publish:
    uv build --clear --no-sources
    UV_PUBLISH_TOKEN=$PYPI_TOKEN uv publish

dumpenv:
    op inject -i env.example -o .env

download:
    uv run --group data deped-runtime r2 download --target data --prefix {{ r2_prefix }}

upload:
    uv run --group data deped-runtime r2 upload --source data --prefix {{ r2_prefix }} --overwrite
