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, TradingViewClient,
44 TradingViewClientConfig, TransportConfig, WebSocketConnectFuture, WebSocketConnectedEvent,
45 WebSocketConnectionFailedEvent, WebSocketConnector,
46};
47#[cfg(feature = "crypto")]
48pub use crypto::{CryptoClient, CryptoOverview};
49#[cfg(feature = "economics")]
50pub use economics::{
51 EconomicCalendarRequest, EconomicCalendarResponse, EconomicEvent, EconomicValue,
52};
53#[cfg(feature = "equity")]
54pub use equity::{
55 AnalystForecasts, AnalystFxRates, AnalystPriceTargets, AnalystRecommendations, AnalystSummary,
56 EarningsCalendar, EarningsMetrics, EquityClient, EquityOverview, EstimateHistory,
57 EstimateMetrics, EstimateObservation, FundamentalMetrics, FundamentalObservation,
58 FundamentalsSnapshot, PointInTimeFundamentals,
59};
60pub use error::{Error, ErrorKind, Result};
61#[cfg(feature = "forex")]
62pub use forex::{ForexClient, ForexOverview};
63pub use history::{
64 Adjustment, Bar, BarSelectionPolicy, DailyBarRangeRequest, DailyBarRequest,
65 HistoryBatchRequest, HistoryProvenance, HistoryRequest, HistorySeries, Interval,
66 TradingSession,
67};
68#[cfg(feature = "equity")]
69pub use market_data::ConversionRatesSnapshot;
70#[cfg(any(
71 feature = "calendar",
72 feature = "crypto",
73 feature = "equity",
74 feature = "forex"
75))]
76pub use market_data::InstrumentIdentity;
77#[cfg(any(feature = "crypto", feature = "equity", feature = "forex"))]
78pub use market_data::{QuoteSnapshot, TechnicalSummary};
79pub use metadata::{DataLineage, DataSourceKind, HistoryKind};
80pub use scanner::{
81 HeuristicSymbolNormalizer, InstrumentRef, PartiallySupportedColumn, ScanValidationReport,
82 ScannerFieldMetainfo, ScannerFieldType, ScannerMetainfo, SymbolNormalizer,
83};
84#[cfg(feature = "search")]
85pub use search::{SearchAssetClass, SearchHit, SearchRequest, SearchResponse};
86pub use time_series::{FiscalPeriod, HistoricalObservation};
87pub use transport::websocket::TradingViewWebSocket;
88
89pub mod prelude {
90 pub use crate::batch::{BatchResult, SymbolFailure};
91 #[cfg(feature = "calendar")]
92 pub use crate::calendar::{
93 CalendarWindowRequest, DividendCalendarEntry, DividendCalendarRequest, DividendDateKind,
94 EarningsCalendarEntry, IpoCalendarEntry,
95 };
96 pub use crate::client::{
97 AuthConfig, AuthMode, ClientEvent, ClientObserver, DefaultWebSocketConnector,
98 HistoryBatchCompletedEvent, HistoryBatchMode, HistoryClientConfig,
99 HttpRequestCompletedEvent, HttpRequestFailedEvent, RequestBudget, RetryConfig, RetryJitter,
100 TradingViewClient, TradingViewClientConfig, TransportConfig, WebSocketConnectFuture,
101 WebSocketConnectedEvent, WebSocketConnectionFailedEvent, WebSocketConnector,
102 };
103 #[cfg(feature = "crypto")]
104 pub use crate::crypto::{CryptoClient, CryptoOverview};
105 #[cfg(feature = "economics")]
106 pub use crate::economics::{
107 EconomicCalendarRequest, EconomicCalendarResponse, EconomicEvent, EconomicValue,
108 };
109 #[cfg(feature = "equity")]
110 pub use crate::equity::{
111 AnalystForecasts, AnalystFxRates, AnalystPriceTargets, AnalystRecommendations,
112 AnalystSummary, EarningsCalendar, EarningsMetrics, EquityClient, EquityOverview,
113 EstimateHistory, EstimateMetrics, EstimateObservation, FundamentalMetrics,
114 FundamentalObservation, FundamentalsSnapshot, PointInTimeFundamentals,
115 };
116 #[cfg(feature = "forex")]
117 pub use crate::forex::{ForexClient, ForexOverview};
118 pub use crate::history::{
119 Adjustment, Bar, BarSelectionPolicy, DailyBarRangeRequest, DailyBarRequest,
120 HistoryBatchRequest, HistoryProvenance, HistoryRequest, HistorySeries, Interval,
121 TradingSession,
122 };
123 #[cfg(feature = "equity")]
124 pub use crate::market_data::ConversionRatesSnapshot;
125 #[cfg(any(
126 feature = "calendar",
127 feature = "crypto",
128 feature = "equity",
129 feature = "forex"
130 ))]
131 pub use crate::market_data::InstrumentIdentity;
132 #[cfg(any(feature = "crypto", feature = "equity", feature = "forex"))]
133 pub use crate::market_data::{QuoteSnapshot, TechnicalSummary};
134 pub use crate::metadata::{DataLineage, DataSourceKind, HistoryKind};
135 pub use crate::scanner::fields;
136 pub use crate::scanner::{
137 Column, FieldRegistry, FilterCondition, FilterOperator, FilterTree,
138 HeuristicSymbolNormalizer, IndexSymbolDescriptor, InstrumentRef, LogicalOperator, Market,
139 MarketDescriptor, Page, PartiallySupportedColumn, PriceConversion, ScanQuery, ScanResponse,
140 ScanRow, ScanValidationReport, ScannerFieldMetainfo, ScannerFieldType, ScannerMetainfo,
141 ScreenerKind, SortOrder, SortSpec, SymbolGroup, SymbolNormalizer, Symbols, Ticker,
142 embedded_registry,
143 };
144 #[cfg(feature = "search")]
145 pub use crate::search::{SearchAssetClass, SearchHit, SearchRequest, SearchResponse};
146 pub use crate::time_series::{FiscalPeriod, HistoricalObservation};
147 pub use crate::{ErrorKind, Result, TradingViewWebSocket};
148}