| Crates.io | paracas-lib |
| lib.rs | paracas-lib |
| version | 0.3.1 |
| created_at | 2025-12-29 19:39:00.418667+00 |
| updated_at | 2025-12-29 23:04:54.206859+00 |
| description | High-performance Rust library for downloading Dukascopy tick data |
| homepage | https://github.com/factordynamics/paracas |
| repository | https://github.com/factordynamics/paracas |
| max_upload_size | |
| id | 2011183 |
| size | 72,637 |
High-performance Rust library for downloading historical tick data from Dukascopy.
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(())
}
This is a facade crate that re-exports functionality from:
paracas-types - Core types (Tick, Instrument, DateRange)paracas-instruments - Instrument registryparacas-fetch - HTTP client and data fetchingparacas-aggregate - OHLCV aggregationparacas-format - Output formattersRelated workspace crates (not re-exported):
paracas-daemon - Background job managementparacas-estimate - Download size estimationMIT License - see LICENSE for details.