Andreas Bigger 3e28cef4bb feat: add job management subcommand 🎮
Add `paracas job` subcommand for managing background downloads:
- pause: suspend a running job with SIGSTOP
- resume: continue a paused job with SIGCONT (respawns if needed)
- kill: terminate a job with SIGTERM/SIGKILL
- clean: remove finished jobs from storage

Also show help menu when no subcommand is provided.
2025-12-29 17:12:48 -05:00
2025-12-29 13:21:48 -05:00
2025-12-29 14:27:23 -05:00
2025-12-29 17:12:48 -05:00
2025-12-29 17:12:48 -05:00
2025-12-29 13:21:48 -05:00
2025-12-29 13:21:48 -05:00
2025-12-29 17:05:07 -05:00
2025-12-29 14:27:23 -05:00
2025-12-29 11:20:18 -05:00
2025-12-29 13:21:48 -05:00

paracas

CI Crates.io License: MIT

High-performance Rust CLI for downloading historical tick data from Dukascopy.

Features

  • Fast: Concurrent downloads with connection pooling
  • Flexible: CSV, JSON, and Parquet output formats
  • Complete: All 1000+ Dukascopy instruments supported
  • Aggregation: Built-in OHLCV aggregation (1m, 5m, 15m, 30m, 1h, 4h, 1d)

Installation

cargo install paracas

Usage

Download Tick Data

# Download all available EUR/USD tick data (outputs to eurusd.csv by default)
paracas download eurusd

# Download with specific date range
paracas download eurusd -s 2024-01-01 -e 2024-01-31

# Download BTC/USD as Parquet
paracas download btcusd -f parquet

# Download with 1-hour OHLCV aggregation
paracas download eurusd -s 2024-01-01 -e 2024-01-31 -t h1

# Specify custom output file
paracas download eurusd -o my_data.csv

List Instruments

# List all instruments
paracas list

# Filter by category
paracas list --category forex

# Search instruments
paracas list --search btc

Instrument Info

paracas info eurusd

Output Formats

Format Extension Description
CSV .csv Comma-separated values
JSON .json JSON array
Parquet .parquet Apache Parquet columnar format

Timeframes

Timeframe Flag Description
Tick (default) Raw tick data
1 minute -t m1 1-minute OHLCV bars
5 minutes -t m5 5-minute OHLCV bars
15 minutes -t m15 15-minute OHLCV bars
30 minutes -t m30 30-minute OHLCV bars
1 hour -t h1 1-hour OHLCV bars
4 hours -t h4 4-hour OHLCV bars
1 day -t d1 Daily OHLCV bars

Performance

Benchmark comparing paracas against dukascopy-node for downloading EUR/USD tick data:

Data Range paracas dukascopy-node Speedup
1 day 5.24s 8.26s 1.6x
3 days 18.97s 24.27s 1.3x

Benchmarks run on macOS (Apple Silicon). Results may vary based on network conditions.

Running Benchmarks

# Run benchmark and output markdown table
just bench-table

# Run criterion benchmarks
just bench

To compare against dukascopy-node, install it first:

npm install -g dukascopy-node

License

MIT License - see LICENSE for details.

S
Description
A Parallelized, Performant CLI Tool to Download Historical Intraday Tick Data. Built in Rust.
Readme MIT 133 KiB
Languages
Rust 98.1%
Just 1.9%