.PHONY: build dev build-db dev-db test test-rust test-python test-python-db test-db test-db-all test-db-live lint lint-rust lint-python fmt fmt-rust fmt-python clippy check clean
build:
uv run maturin develop --release
dev:
uv run maturin develop
build-db:
uv run maturin develop --release --features "python,python-async,database,sqlite"
dev-db:
uv run maturin develop --features "python,python-async,database,sqlite"
test: test-rust test-python
test-rust:
cargo test
test-python: dev
uv run pytest
test-python-db: dev-db
uv run pytest python/tests/test_database_api.py -v -ra
test-db:
cargo test --test database_integration --features "database,sqlite"
test-db-all:
cargo test --test database_integration --features "all-db"
test-db-live:
cd .devcontainer && bash test_live_databases.sh
lint: lint-rust lint-python
lint-rust: clippy
clippy:
cargo clippy --lib --tests --all-features -- -D warnings
lint-python:
uv run ruff check python/
fmt: fmt-rust fmt-python
fmt-rust:
cargo fmt
fmt-python:
uv run ruff format python/
uv run ruff check --fix python/
check: fmt lint test
clean:
cargo clean
rm -rf target/ .pytest_cache/ python/dataprof/__pycache__/
help:
@grep -E '^[a-zA-Z_-]+:.*?## ' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-16s\033[0m %s\n", $$1, $$2}'
.DEFAULT_GOAL := help