tqsdk_rs/lib.rs
1//! # TQSDK-RS3
2//!
3//! 天勤 DIFF 协议的 Rust 语言封装
4//!
5//! 这是一个用于连接天勤量化交易平台的 Rust SDK,支持:
6//! - 实时行情订阅(Quote, K线, Tick)
7//! - 历史数据获取
8//! - 实盘/模拟交易
9//! - DIFF 协议数据管理
10//!
11//! ## 快速开始
12//!
13//! ```no_run
14//! use tqsdk_rs::{Client, ClientConfig};
15//!
16//! #[tokio::main]
17//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
18//! // 创建客户端
19//! let client = Client::new("username", "password", ClientConfig::default()).await?;
20//!
21//! // 初始化行情
22//! client.init_market().await?;
23//!
24//! // 订阅行情
25//! let quote_sub = client.subscribe_quote(&["SHFE.au2602"]).await?;
26//!
27//! Ok(())
28//! }
29//! ```
30
31// 错误类型
32pub mod errors;
33
34// 日志系统
35pub mod logger;
36
37// 工具函数
38pub mod utils;
39
40// 数据结构
41pub mod types;
42
43// 数据管理器
44pub mod datamanager;
45
46// 认证模块
47pub mod auth;
48
49// WebSocket 连接
50pub mod websocket;
51
52// Quote 订阅
53pub mod quote;
54
55// Series API
56pub mod series;
57
58// 交易会话
59pub mod trade_session;
60
61// 客户端
62pub mod client;
63
64// Polars 扩展(可选功能)
65#[cfg(feature = "polars")]
66pub mod polars_ext;
67
68// 重新导出常用类型
69pub use auth::Authenticator;
70pub use client::{Client, ClientConfig, ClientOption};
71pub use datamanager::{DataManager, DataManagerConfig};
72pub use errors::{Result, TqError};
73pub use logger::{init_logger, create_logger_layer};
74pub use quote::QuoteSubscription;
75pub use series::{SeriesAPI, SeriesSubscription};
76pub use trade_session::TradeSession;
77pub use types::*; // SeriesData 和 UpdateInfo 已在此导出
78pub use websocket::TqWebsocket;
79
80// Polars 扩展
81#[cfg(feature = "polars")]
82pub use polars_ext::{KlineBuffer, TickBuffer};