Spaces:
Paused
Paused
POETRY_INSTALL_DIR := $(abspath ./.poetry) | |
POETRY_BIN := $(POETRY_INSTALL_DIR)/bin/poetry | |
PACKAGE_NAME = $(firstword $(shell $(POETRY_BIN) version)) | |
PACKAGE_DIR = $(subst -,_,$(PACKAGE_NAME)) | |
PACKAGE_VERSION = $(shell $(POETRY_BIN) version --short) | |
# Space separated list of file path that needs to be copied from h2oGPT. | |
FILES_FROM_H2OGPT := enums.py | |
NAME_PREFIX_FOR_FILES_COPIED_FROM_H2OGPT = _h2ogpt_ | |
$(POETRY_BIN): | |
@echo "Installing Poetry into '$(POETRY_INSTALL_DIR)' ..." | |
curl -sSL https://install.python-poetry.org | POETRY_HOME="$(POETRY_INSTALL_DIR)" python3 - --force --version 1.5.1 | |
copy_files_from_h2ogpt: | |
for file in $(FILES_FROM_H2OGPT); do \ | |
dst="$(PACKAGE_DIR)/$(NAME_PREFIX_FOR_FILES_COPIED_FROM_H2OGPT)$(notdir $$file)"; \ | |
echo "Copying '$$file' to '$$dst' ..."; \ | |
cp -f "./../src/$$file" "$$dst"; \ | |
done | |
clean: | |
rm -rf dist | |
find "$(PACKAGE_DIR)" -name "$(NAME_PREFIX_FOR_FILES_COPIED_FROM_H2OGPT)*" -delete | |
clean_deep: clean | |
rm -rf "$(POETRY_INSTALL_DIR)" | |
rm -rf ".venv" | |
setup: $(POETRY_BIN) | |
$(POETRY_BIN) install | |
setup_test: | |
$(POETRY_BIN) install --only=test | |
lint: copy_files_from_h2ogpt | |
$(POETRY_BIN) run black . | |
$(POETRY_BIN) run isort . | |
$(POETRY_BIN) run flake8 "$(PACKAGE_DIR)" "tests" || true | |
$(POETRY_BIN) run mypy --show-error-codes --pretty . | |
test: copy_files_from_h2ogpt | |
$(POETRY_BIN) run pytest -r=A | |
build: copy_files_from_h2ogpt | |
$(POETRY_BIN) build | |
print-%: | |
@echo $($*) | |