update-deps:
	uv pip compile pyproject.toml --python-version 3.13 --extra lint --extra test --extra docs --no-strip-extras -o requirements.txt

upgrade-deps:
	uv pip compile pyproject.toml --python-version 3.13 --extra lint --extra test --extra docs --no-strip-extras --upgrade -o requirements.txt

format:
	python -m black .
	python -m isort .

lint:
	python -m black --check --diff .
	python -m isort --check --diff .

test:
	RHINO_SDK_FORBID_EXTRA_RESULT_FIELDS=1 python -m pytest -m "not local" --ignore=/out

coverage:
	RHINO_SDK_FORBID_EXTRA_RESULT_FIELDS=1 python -m coverage run \
	-m pytest  -m "not local" --ignore=/out

build:
	rm -rf ./dist
	hatch build

publish:
	./commands/publish.sh

local:
	./commands/local.sh

.PHONY: update-deps upgrade-deps format lint test coverage build publish local
