Skip to main content

cg_common/
lib.rs

1//! cg-common: Shared utilities for CoinGecko and crypto CLI tools
2//!
3//! Provides common functionality:
4//! - Error types and handling
5//! - HTTP client with rate limiting
6//! - Retry logic with exponential backoff
7//! - Symbol resolution (BTC -> bitcoin)
8//! - Output writers (JSON, CSV)
9
10pub mod client;
11pub mod error;
12pub mod output;
13pub mod rate_limit;
14pub mod retry;
15pub mod symbols;
16
17// Re-exports
18pub use client::{CoinGeckoClient, CoinGeckoClientBuilder};
19pub use error::{CgCommonError, Result};
20pub use output::JsonWriter;
21pub use rate_limit::{CgRateLimiter, RateLimitConfig};
22pub use retry::{retry_with_backoff, BackoffStrategy, RetryConfig};
23pub use symbols::{resolve_symbol, SYMBOL_MAP};
24
25#[cfg(feature = "csv")]
26pub use output::CsvWriter;