Spaces:
Running
Running
.PHONY: all format lint test tests test_watch integration_tests docker_tests help extended_tests | |
# Default target executed when no arguments are given to make. | |
all: help | |
# Define a variable for the test file path. | |
TEST_FILE ?= tests/unit_tests/ | |
integration_tests: TEST_FILE = tests/integration_tests/ | |
# Run unit tests and generate a coverage report. | |
coverage: | |
poetry run pytest --cov \ | |
--cov-config=.coveragerc \ | |
--cov-report xml \ | |
--cov-report term-missing:skip-covered \ | |
$(TEST_FILE) | |
test tests integration_tests: | |
poetry run pytest $(TEST_FILE) | |
test_watch: | |
poetry run ptw --snapshot-update --now . -- -vv -x tests/unit_tests | |
check_imports: $(shell find langchain_community -name '*.py') | |
poetry run python ./scripts/check_imports.py $^ | |
extended_tests: | |
poetry run pytest --only-extended tests/unit_tests | |
###################### | |
# LINTING AND FORMATTING | |
###################### | |
# Define a variable for Python and notebook files. | |
PYTHON_FILES=. | |
MYPY_CACHE=.mypy_cache | |
lint format: PYTHON_FILES=. | |
lint_diff format_diff: PYTHON_FILES=$(shell git diff --relative=libs/community --name-only --diff-filter=d master | grep -E '\.py$$|\.ipynb$$') | |
lint_package: PYTHON_FILES=langchain_community | |
lint_tests: PYTHON_FILES=tests | |
lint_tests: MYPY_CACHE=.mypy_cache_test | |
lint lint_diff lint_package lint_tests: | |
./scripts/check_pydantic.sh . | |
./scripts/lint_imports.sh | |
poetry run ruff . | |
[ "$(PYTHON_FILES)" = "" ] || poetry run ruff format $(PYTHON_FILES) --diff | |
[ "$(PYTHON_FILES)" = "" ] || poetry run ruff --select I $(PYTHON_FILES) | |
[ "$(PYTHON_FILES)" = "" ] || mkdir -p $(MYPY_CACHE) && poetry run mypy $(PYTHON_FILES) --cache-dir $(MYPY_CACHE) | |
format format_diff: | |
poetry run ruff format $(PYTHON_FILES) | |
poetry run ruff --select I --fix $(PYTHON_FILES) | |
spell_check: | |
poetry run codespell --toml pyproject.toml | |
spell_fix: | |
poetry run codespell --toml pyproject.toml -w | |
###################### | |
# HELP | |
###################### | |
help: | |
@echo '----' | |
@echo 'format - run code formatters' | |
@echo 'lint - run linters' | |
@echo 'test - run unit tests' | |
@echo 'tests - run unit tests' | |
@echo 'test TEST_FILE=<test_file> - run all tests in file' | |
@echo 'test_watch - run unit tests in watch mode' | |