rangebar (meta-crate)
Unified interface for the rangebar workspace with backward compatibility for v4.0.0 API.
Overview
The rangebar meta-crate provides a unified entry point to all rangebar functionality by re-exporting all sub-crates. It also maintains backward compatibility with the v4.0.0 monolithic API through legacy module paths.
Quick Start
use *;
// Core types and algorithm
let mut processor = new?; // 250 = 25 BPS = 0.25%
let bars = processor.process_agg_trade_records?;
// Data providers
let loader = new;
let trades = loader.load_recent_day.await?;
// Export to multiple formats
let exporter = new;
exporter.export_parquet?;
Module Structure
Direct Crate Access
use *; // rangebar-core
use *; // rangebar-providers
use *; // rangebar-config
use *; // rangebar-io
use *; // rangebar-streaming
use *; // rangebar-batch
Legacy v4.0.0 Compatibility
For backward compatibility with existing code:
// Legacy module paths (v4.0.0)
use FixedPoint;
use ExportRangeBarProcessor;
use ;
use ;
use HistoricalDataLoader;
Feature Flags
The meta-crate supports optional features for selective compilation:
[]
= { = "5.0.0", = ["full"] }
Available Features
core(default): Core algorithm and typesproviders: Data providers (Binance, Exness)config: Configuration managementio: Export formats and Polars integrationstreaming: Real-time streaming processorbatch: Batch analytics enginefull: All features enabled
Feature Combinations
# Minimal: Core algorithm only
= { = "5.0.0" }
# Core + providers
= { = "5.0.0", = ["providers"] }
# Core + providers + streaming
= { = "5.0.0", = ["streaming"] }
# Everything
= { = "5.0.0", = ["full"] }
Architecture
The rangebar workspace consists of 8 specialized crates:
Core Crates
- rangebar-core: Algorithm, types, fixed-point arithmetic
- rangebar-providers: Binance, Exness data providers
- rangebar-config: Configuration management
- rangebar-io: Export formats, Polars integration
Engine Crates
- rangebar-streaming: Real-time streaming processor
- rangebar-batch: Batch analytics engine
Tools & Compatibility
- rangebar-cli: Command-line tools
- rangebar: This meta-crate (unified interface)
Migrating from v4.0.0
The v5.0.0 release introduced a modular crate architecture. Your existing code should continue to work due to backward compatibility shims, but consider migrating to direct crate imports:
Before (v4.0.0)
use FixedPoint;
use ExportRangeBarProcessor;
use HistoricalDataLoader;
After (v5.0.0)
use FixedPoint;
use RangeBarProcessor;
use HistoricalDataLoader;
Migration Guide: See ../../docs/planning/ for detailed migration instructions.
Version
Current version: 5.0.0 (modular crate architecture)
Breaking Changes in v3.0.0:
- Threshold values changed from 1 BPS to 0.1 BPS units (multiply by 10)
- Example: 25 BPS now requires
new(250)instead ofnew(25)
Common Use Cases
Historical Analysis
use *;
// Load historical data
let loader = new;
let trades = loader.load_historical_range.await?;
// Generate range bars
let mut processor = new?;
let bars = processor.process_agg_trade_records?;
// Export to Parquet
let exporter = new;
exporter.export?;
Real-Time Streaming
use *;
let mut processor = new?;
let metrics = processor.process_stream.await?;
println!;
Multi-Symbol Batch Analysis
use *;
let engine = new;
let reports = engine.analyze_multiple_symbols?;
Documentation
- Architecture:
../../docs/ARCHITECTURE.md - Examples:
../../examples/ - CLI Tools: See
rangebar-clicrate - Individual Crates: Each crate has its own README.md
Dependencies
The meta-crate re-exports all workspace crates based on enabled features.
License
See LICENSE file in the repository root.