paracas downloader 🚧
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
set positional-arguments
|
||||
|
||||
alias t := test
|
||||
alias f := fix
|
||||
alias b := build
|
||||
alias c := clean
|
||||
|
||||
default:
|
||||
@just --list
|
||||
|
||||
# ============================================================
|
||||
# CI
|
||||
# ============================================================
|
||||
|
||||
# Run the full CI suite
|
||||
ci: fix check lychee check-udeps
|
||||
|
||||
# Run all checks
|
||||
check: check-format check-clippy test
|
||||
|
||||
# Check links in documentation
|
||||
lychee:
|
||||
@command -v lychee >/dev/null 2>&1 || cargo install lychee
|
||||
lychee --config ./lychee.toml .
|
||||
|
||||
# ============================================================
|
||||
# Formatting
|
||||
# ============================================================
|
||||
|
||||
# Check code formatting
|
||||
check-format:
|
||||
cargo +nightly fmt --all -- --check
|
||||
|
||||
# Format code
|
||||
format-fix:
|
||||
cargo fix --allow-dirty --allow-staged
|
||||
cargo +nightly fmt --all
|
||||
|
||||
# ============================================================
|
||||
# Linting
|
||||
# ============================================================
|
||||
|
||||
# Run clippy
|
||||
check-clippy:
|
||||
cargo clippy --workspace --all-targets -- -D warnings
|
||||
|
||||
# Auto-fix clippy issues
|
||||
clippy-fix:
|
||||
cargo clippy --workspace --all-targets --fix --allow-dirty --allow-staged
|
||||
|
||||
# ============================================================
|
||||
# Testing
|
||||
# ============================================================
|
||||
|
||||
# Run tests
|
||||
test:
|
||||
@command -v cargo-nextest >/dev/null 2>&1 || cargo install cargo-nextest
|
||||
RUSTFLAGS="-D warnings" cargo nextest run --workspace --all-features
|
||||
|
||||
# Watch tests
|
||||
watch-test:
|
||||
cargo watch -x "nextest run --workspace --all-features"
|
||||
|
||||
# ============================================================
|
||||
# Building
|
||||
# ============================================================
|
||||
|
||||
# Build release
|
||||
build:
|
||||
cargo build --workspace --release
|
||||
|
||||
# Clean build artifacts
|
||||
clean:
|
||||
cargo clean
|
||||
|
||||
# ============================================================
|
||||
# Dependencies
|
||||
# ============================================================
|
||||
|
||||
# Check for unused dependencies
|
||||
check-udeps:
|
||||
@command -v cargo-udeps >/dev/null 2>&1 || cargo install cargo-udeps
|
||||
cargo +nightly udeps --workspace --all-features --all-targets
|
||||
|
||||
# ============================================================
|
||||
# Documentation
|
||||
# ============================================================
|
||||
|
||||
# Generate and open documentation
|
||||
doc:
|
||||
cargo doc --workspace --no-deps --open
|
||||
|
||||
# Watch for changes and run checks
|
||||
watch-check:
|
||||
cargo watch -x "clippy --workspace --all-targets"
|
||||
|
||||
# ============================================================
|
||||
# Install
|
||||
# ============================================================
|
||||
|
||||
# Install paracas from crates.io
|
||||
install:
|
||||
cargo install paracas
|
||||
|
||||
# Install paracas locally from source
|
||||
install-local:
|
||||
cargo install --path bin
|
||||
|
||||
# ============================================================
|
||||
# Download Commands
|
||||
# ============================================================
|
||||
|
||||
# Download tick data (all available history by default)
|
||||
download instrument start="" end="" output="" format="csv":
|
||||
cargo run --package paracas --release -- download {{instrument}} \
|
||||
{{ if start != "" { "-s " + start } else { "" } }} \
|
||||
{{ if end != "" { "-e " + end } else { "" } }} \
|
||||
{{ if output != "" { "-o " + output } else { "" } }} \
|
||||
-f {{format}}
|
||||
|
||||
# Download with OHLCV aggregation
|
||||
download-ohlcv instrument start="" end="" output="" format="csv" timeframe="h1":
|
||||
cargo run --package paracas --release -- download {{instrument}} \
|
||||
{{ if start != "" { "-s " + start } else { "" } }} \
|
||||
{{ if end != "" { "-e " + end } else { "" } }} \
|
||||
{{ if output != "" { "-o " + output } else { "" } }} \
|
||||
-f {{format}} -t {{timeframe}}
|
||||
|
||||
# List available instruments
|
||||
list-instruments:
|
||||
cargo run --package paracas --release -- list
|
||||
|
||||
# Show instrument info
|
||||
info instrument:
|
||||
cargo run --package paracas --release -- info {{instrument}}
|
||||
|
||||
# Compound command for development
|
||||
fix:
|
||||
cargo +nightly fmt --all
|
||||
cargo clippy --workspace --all-targets --fix --allow-dirty --allow-staged
|
||||
Reference in New Issue
Block a user