.DEFAULT_GOAL := help
BASE ?= main
.PHONY: fmt check check-features clippy clippy-default test test-doc integration-tests
fmt:
cargo fmt --all
dprint fmt
generate_test_files:
cargo run -p polars-cli "select * from read_csv('../examples/datasets/foods1.csv')" -o parquet > ../examples/datasets/foods1.parquet
cargo run -p polars-cli "select * from read_csv('../examples/datasets/foods1.csv')" -o arrow > ../examples/datasets/foods1.ipc
check:
cargo check --all-features \
-p polars-core \
-p polars-io \
-p polars-lazy \
-p polars-arrow \
-p polars-time \
-p polars-error \
-p polars-ops \
-p polars-sql
clippy:
cargo clippy --all-features \
-p polars-core \
-p polars-io \
-p polars-lazy \
-p polars-arrow \
-p polars-utils \
-p polars-ops \
-p polars-error \
-p polars-row \
-p polars-time \
-p polars-sql
clippy-default:
cargo clippy
test:
POLARS_NO_STREAMING_GROUPBY=1 POLARS_MAX_THREADS=4 cargo t -p polars-core test_4_threads
cargo test --all-features \
-p polars-lazy \
-p polars-io \
-p polars-core \
-p polars-arrow \
-p polars-time \
-p polars-utils \
-p polars-row \
-p polars-sql \
-- \
--test-threads=2
integration-tests:
cargo t --all-features --test it -- --test-threads=2
miri:
MIRIFLAGS="-Zmiri-disable-isolation -Zmiri-ignore-leaks -Zmiri-disable-stacked-borrows" \
POLARS_ALLOW_EXTENSION=1 \
cargo miri test \
--no-default-features \
--features object \
-p polars-core \
-p polars-arrow \
--
test-doc:
cargo test --doc \
-p polars-lazy \
-p polars-io \
-p polars-core \
-p polars-arrow \
-p polars-sql
pre-commit: fmt clippy clippy-default
check-features:
cargo hack check --each-feature --no-dev-deps --features private
bench-save:
cargo bench --features=random --bench $(BENCH) -- --save-baseline $(SAVE)
bench-cmp:
cargo bench --features=random --bench $(BENCH) -- --load-baseline $(FEAT) --baseline $(BASE)
doctest:
cargo doc --all-features -p polars-arrow
cargo doc --all-features -p polars-utils
cargo doc --features=docs-selection -p polars-core
cargo doc -p polars-time
cargo doc -p polars-ops
cargo doc --all-features -p polars-io
cargo doc --all-features -p polars-lazy
cargo doc --features=docs-selection -p polars
cargo doc --all-features -p polars-sql
publish:
cargo publish --allow-dirty -p polars-error
sleep 20
cargo publish --allow-dirty -p polars-utils
sleep 20
cargo publish --allow-dirty -p polars-row
sleep 20
cargo publish --allow-dirty -p polars-arrow
sleep 20
cargo publish --allow-dirty -p polars-core
sleep 20
cargo publish --allow-dirty -p polars-ops
sleep 20
cargo publish --allow-dirty -p polars-time
sleep 20
cargo publish --allow-dirty -p polars-io
sleep 20
cargo publish --allow-dirty -p polars-plan
sleep 20
cargo publish --allow-dirty -p polars-pipe
sleep 20
cargo publish --allow-dirty -p polars-lazy
sleep 20
cargo publish --allow-dirty -p polars-algo
sleep 20
cargo publish --allow-dirty -p polars-sql
sleep 20
cargo publish --allow-dirty -p polars
.PHONY: help
help:
@echo -e "\033[1mAvailable commands:\033[0m\n"
@grep -E '^[a-z.A-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-18s\033[0m %s\n", $$1, $$2}' | sort