Files
Andreas Bigger 3edf2d9ece 📚 docs: add missing READMEs and align crates with Rust rules
- Create README.md for paracas-daemon and paracas-estimate
- Add #![doc = include_str!("../README.md")] to daemon/estimate lib.rs
- Add missing Cargo.toml metadata (docs.rs, authors, keywords, categories)
- Reorder workspace dependencies by line length per style guide
- Document background jobs, download-all, status, and job commands
2025-12-29 18:02:56 -05:00
..
2025-12-29 13:21:48 -05:00
2025-12-29 13:21:48 -05:00

paracas-lib

High-performance Rust library 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

Quick Start

use paracas_lib::prelude::*;
use futures::StreamExt;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Get instrument
    let registry = InstrumentRegistry::global();
    let instrument = registry.get("eurusd").unwrap();

    // Create client
    let client = DownloadClient::with_defaults()?;

    // Define date range
    let range = DateRange::new(
        chrono::NaiveDate::from_ymd_opt(2024, 1, 1).unwrap(),
        chrono::NaiveDate::from_ymd_opt(2024, 1, 1).unwrap(),
    )?;

    // Stream ticks
    let mut stream = tick_stream(&client, instrument, range);
    while let Some(batch) = stream.next().await {
        let batch = batch?;
        println!("Downloaded {} ticks for {:?}", batch.len(), batch.hour);
    }

    Ok(())
}

Crates

This is a facade crate that re-exports functionality from:

  • paracas-types - Core types (Tick, Instrument, DateRange)
  • paracas-instruments - Instrument registry
  • paracas-fetch - HTTP client and data fetching
  • paracas-aggregate - OHLCV aggregation
  • paracas-format - Output formatters

Related workspace crates (not re-exported):

  • paracas-daemon - Background job management
  • paracas-estimate - Download size estimation

License

MIT License - see LICENSE for details.