.PHONY: install build test clean lint format docs
install:
cargo build --release --features python
pip install -e .
install-dev:
pip install -e ".[dev,test]"
cargo install cargo-nextest
build:
cargo build --release --features python
test: test-rust test-python
test-rust:
cargo nextest run --all-features --release
test-python:
python -m pytest tests/ -v
lint:
cargo clippy --all-features -- -D warnings
@command -v ruff >/dev/null 2>&1 && ruff check src/python/ tests/ || echo "ruff not available"
format:
cargo fmt
@command -v black >/dev/null 2>&1 && black src/python/ tests/ examples/ || echo "black not available"
docs:
cd docs && make html
clean:
cargo clean
rm -rf src/python/__pycache__/ tests/__pycache__ .pytest_cache
check-env:
@echo "Rust: $$(rustc --version)"
@echo "Python: $$(python --version)"
@echo "Cargo: $$(cargo --version)"