1#![forbid(unsafe_code)]
2#![deny(missing_debug_implementations)]
3#![doc = include_str!("../README.snippet.md")]
4
5pub mod batch;
6pub mod client;
7pub mod error;
8pub mod history;
9pub mod metadata;
10pub mod scanner;
11pub mod time_series;
12mod transport;
13
14#[cfg(feature = "calendar")]
15pub mod calendar;
16#[cfg(feature = "crypto")]
17pub mod crypto;
18#[cfg(feature = "economics")]
19pub mod economics;
20#[cfg(feature = "equity")]
21pub mod equity;
22#[cfg(feature = "forex")]
23pub mod forex;
24#[cfg(any(
25 feature = "calendar",
26 feature = "crypto",
27 feature = "equity",
28 feature = "forex"
29))]
30mod market_data;
31#[cfg(feature = "search")]
32pub mod search;
33
34pub use batch::{BatchResult, SymbolFailure};
35#[cfg(feature = "calendar")]
36pub use calendar::{
37 CalendarWindowRequest, DividendCalendarEntry, DividendCalendarRequest, DividendDateKind,
38 EarningsCalendarEntry, IpoCalendarEntry,
39};
40pub use client::{
41 AuthConfig, AuthMode, ClientEvent, ClientObserver, DefaultWebSocketConnector, Endpoints,
42 HistoryBatchCompletedEvent, HistoryBatchMode, HistoryClientConfig, HttpRequestCompletedEvent,
43 HttpRequestFailedEvent, RequestBudget, RetryConfig, RetryJitter, SnapshotBatchConfig,
44 SnapshotBatchStrategy, TradingViewClient, TradingViewClientConfig, TransportConfig,
45 WebSocketConnectFuture, WebSocketConnectedEvent, WebSocketConnectionFailedEvent,
46 WebSocketConnector,
47};
48#[cfg(feature = "crypto")]
49pub use crypto::{CryptoClient, CryptoOverview};
50#[cfg(feature = "economics")]
51pub use economics::{
52 EconomicCalendarRequest, EconomicCalendarResponse, EconomicEvent, EconomicValue,
53};
54#[cfg(feature = "equity")]
55pub use equity::{
56 AnalystForecasts, AnalystFxRates, AnalystPriceTargets, AnalystRecommendations, AnalystSummary,
57 EarningsCalendar, EarningsMetrics, EquityClient, EquityOverview, EstimateHistory,
58 EstimateMetrics, EstimateObservation, FundamentalMetrics, FundamentalObservation,
59 FundamentalsSnapshot, PointInTimeFundamentals,
60};
61pub use error::{Error, ErrorKind, Result};
62#[cfg(feature = "forex")]
63pub use forex::{ForexClient, ForexOverview};
64pub use history::{
65 Adjustment, Bar, BarSelectionPolicy, DailyBarRangeRequest, DailyBarRequest,
66 HistoryBatchRequest, HistoryProvenance, HistoryRequest, HistorySeries, Interval,
67 TradingSession,
68};
69#[cfg(feature = "equity")]
70pub use market_data::ConversionRatesSnapshot;
71#[cfg(any(
72 feature = "calendar",
73 feature = "crypto",
74 feature = "equity",
75 feature = "forex"
76))]
77pub use market_data::InstrumentIdentity;
78#[cfg(any(feature = "crypto", feature = "equity", feature = "forex"))]
79pub use market_data::{QuoteSnapshot, TechnicalSummary};
80pub use metadata::{DataLineage, DataSourceKind, HistoryKind};
81pub use scanner::{
82 HeuristicSymbolNormalizer, InstrumentRef, PartiallySupportedColumn, ScanValidationReport,
83 ScannerFieldMetainfo, ScannerFieldType, ScannerMetainfo, SymbolNormalizer,
84};
85#[cfg(feature = "search")]
86pub use search::{SearchAssetClass, SearchHit, SearchRequest, SearchResponse};
87pub use time_series::{FiscalPeriod, HistoricalObservation};
88pub use transport::websocket::TradingViewWebSocket;
89
90pub mod prelude {
91 pub use crate::batch::{BatchResult, SymbolFailure};
92 #[cfg(feature = "calendar")]
93 pub use crate::calendar::{
94 CalendarWindowRequest, DividendCalendarEntry, DividendCalendarRequest, DividendDateKind,
95 EarningsCalendarEntry, IpoCalendarEntry,
96 };
97 pub use crate::client::{
98 AuthConfig, AuthMode, ClientEvent, ClientObserver, DefaultWebSocketConnector,
99 HistoryBatchCompletedEvent, HistoryBatchMode, HistoryClientConfig,
100 HttpRequestCompletedEvent, HttpRequestFailedEvent, RequestBudget, RetryConfig, RetryJitter,
101 SnapshotBatchConfig, SnapshotBatchStrategy, TradingViewClient, TradingViewClientConfig,
102 TransportConfig, WebSocketConnectFuture, WebSocketConnectedEvent,
103 WebSocketConnectionFailedEvent, WebSocketConnector,
104 };
105 #[cfg(feature = "crypto")]
106 pub use crate::crypto::{CryptoClient, CryptoOverview};
107 #[cfg(feature = "economics")]
108 pub use crate::economics::{
109 EconomicCalendarRequest, EconomicCalendarResponse, EconomicEvent, EconomicValue,
110 };
111 #[cfg(feature = "equity")]
112 pub use crate::equity::{
113 AnalystForecasts, AnalystFxRates, AnalystPriceTargets, AnalystRecommendations,
114 AnalystSummary, EarningsCalendar, EarningsMetrics, EquityClient, EquityOverview,
115 EstimateHistory, EstimateMetrics, EstimateObservation, FundamentalMetrics,
116 FundamentalObservation, FundamentalsSnapshot, PointInTimeFundamentals,
117 };
118 #[cfg(feature = "forex")]
119 pub use crate::forex::{ForexClient, ForexOverview};
120 pub use crate::history::{
121 Adjustment, Bar, BarSelectionPolicy, DailyBarRangeRequest, DailyBarRequest,
122 HistoryBatchRequest, HistoryProvenance, HistoryRequest, HistorySeries, Interval,
123 TradingSession,
124 };
125 #[cfg(feature = "equity")]
126 pub use crate::market_data::ConversionRatesSnapshot;
127 #[cfg(any(
128 feature = "calendar",
129 feature = "crypto",
130 feature = "equity",
131 feature = "forex"
132 ))]
133 pub use crate::market_data::InstrumentIdentity;
134 #[cfg(any(feature = "crypto", feature = "equity", feature = "forex"))]
135 pub use crate::market_data::{QuoteSnapshot, TechnicalSummary};
136 pub use crate::metadata::{DataLineage, DataSourceKind, HistoryKind};
137 pub use crate::scanner::fields;
138 pub use crate::scanner::{
139 Column, FieldRegistry, FilterCondition, FilterOperator, FilterTree,
140 HeuristicSymbolNormalizer, IndexSymbolDescriptor, InstrumentRef, LogicalOperator, Market,
141 MarketDescriptor, Page, PartiallySupportedColumn, PriceConversion, ScanQuery, ScanResponse,
142 ScanRow, ScanValidationReport, ScannerFieldMetainfo, ScannerFieldType, ScannerMetainfo,
143 ScreenerKind, SortOrder, SortSpec, SymbolGroup, SymbolNormalizer, Symbols, Ticker,
144 embedded_registry,
145 };
146 #[cfg(feature = "search")]
147 pub use crate::search::{SearchAssetClass, SearchHit, SearchRequest, SearchResponse};
148 pub use crate::time_series::{FiscalPeriod, HistoricalObservation};
149 pub use crate::{ErrorKind, Result, TradingViewWebSocket};
150}