1
- from typing import Dict
1
+ from typing import Dict , Type
2
2
3
3
import requests
4
4
@@ -17,165 +17,185 @@ def __init__(self, auth_key: str):
17
17
self ._session = requests .Session ()
18
18
self ._session .params ["apiKey" ] = self .auth_key
19
19
20
- def _handle_response (self , response_type : str , endpoint : str , params : Dict [str , str ]) -> models .Definition :
20
+ def _handle_response (self , response_type : str , endpoint : str , params : Dict [str , str ]) -> Type [ models .AnyDefinition ] :
21
21
resp : requests .Response = self ._session .get (endpoint , params = params )
22
22
if resp .status_code == 200 :
23
23
return unmarshal .unmarshal_json (response_type , resp .json ())
24
24
else :
25
25
resp .raise_for_status ()
26
26
27
- def tickers (self , ** query_params ):
27
+ def reference_tickers (self , ** query_params ) -> models . ReferenceTickersApiResponse :
28
28
endpoint = f"{ self .url } /v2/reference/tickers"
29
- return self ._handle_response ("TickersApiResponse " , endpoint , query_params )
29
+ return self ._handle_response ("ReferenceTickersApiResponse " , endpoint , query_params )
30
30
31
- def ticker_types (self , ** query_params ):
31
+ def reference_ticker_types (self , ** query_params ) -> models . ReferenceTickerTypesApiResponse :
32
32
endpoint = f"{ self .url } /v2/reference/types"
33
- return self ._handle_response ("TickerTypesApiResponse " , endpoint , query_params )
33
+ return self ._handle_response ("ReferenceTickerTypesApiResponse " , endpoint , query_params )
34
34
35
- def ticker_details (self , symbol , ** query_params ):
35
+ def reference_ticker_details (self , symbol , ** query_params ) -> models . ReferenceTickerDetailsApiResponse :
36
36
endpoint = f"{ self .url } /v1/meta/symbols/{ symbol } /company"
37
- return self ._handle_response ("TickerDetailsApiResponse " , endpoint , query_params )
37
+ return self ._handle_response ("ReferenceTickerDetailsApiResponse " , endpoint , query_params )
38
38
39
- def ticker_news (self , symbol , ** query_params ):
39
+ def reference_ticker_news (self , symbol , ** query_params ) -> models . ReferenceTickerNewsApiResponse :
40
40
endpoint = f"{ self .url } /v1/meta/symbols/{ symbol } /news"
41
- return self ._handle_response ("TickerNewsApiResponse " , endpoint , query_params )
41
+ return self ._handle_response ("ReferenceTickerNewsApiResponse " , endpoint , query_params )
42
42
43
- def markets (self , ** query_params ):
43
+ def reference_markets (self , ** query_params ) -> models . ReferenceMarketsApiResponse :
44
44
endpoint = f"{ self .url } /v2/reference/markets"
45
- return self ._handle_response ("MarketsApiResponse " , endpoint , query_params )
45
+ return self ._handle_response ("ReferenceMarketsApiResponse " , endpoint , query_params )
46
46
47
- def locales (self , ** query_params ):
47
+ def reference_locales (self , ** query_params ) -> models . ReferenceLocalesApiResponse :
48
48
endpoint = f"{ self .url } /v2/reference/locales"
49
- return self ._handle_response ("LocalesApiResponse " , endpoint , query_params )
49
+ return self ._handle_response ("ReferenceLocalesApiResponse " , endpoint , query_params )
50
50
51
- def stock_splits (self , symbol , ** query_params ):
51
+ def reference_stock_splits (self , symbol , ** query_params ) -> models . ReferenceStockSplitsApiResponse :
52
52
endpoint = f"{ self .url } /v2/reference/splits/{ symbol } "
53
- return self ._handle_response ("StockSplitsApiResponse " , endpoint , query_params )
53
+ return self ._handle_response ("ReferenceStockSplitsApiResponse " , endpoint , query_params )
54
54
55
- def stock_dividends (self , symbol , ** query_params ):
55
+ def reference_stock_dividends (self , symbol , ** query_params ) -> models . ReferenceStockDividendsApiResponse :
56
56
endpoint = f"{ self .url } /v2/reference/dividends/{ symbol } "
57
- return self ._handle_response ("StockDividendsApiResponse " , endpoint , query_params )
57
+ return self ._handle_response ("ReferenceStockDividendsApiResponse " , endpoint , query_params )
58
58
59
- def stock_financials (self , symbol , ** query_params ):
59
+ def reference_stock_financials (self , symbol , ** query_params ) -> models . ReferenceStockFinancialsApiResponse :
60
60
endpoint = f"{ self .url } /v2/reference/financials/{ symbol } "
61
- return self ._handle_response ("StockFinancialsApiResponse " , endpoint , query_params )
61
+ return self ._handle_response ("ReferenceStockFinancialsApiResponse " , endpoint , query_params )
62
62
63
- def market_status (self , ** query_params ):
63
+ def reference_market_status (self , ** query_params ) -> models . ReferenceMarketStatusApiResponse :
64
64
endpoint = f"{ self .url } /v1/marketstatus/now"
65
- return self ._handle_response ("MarketStatusApiResponse " , endpoint , query_params )
65
+ return self ._handle_response ("ReferenceMarketStatusApiResponse " , endpoint , query_params )
66
66
67
- def market_holidays (self , ** query_params ):
67
+ def reference_market_holidays (self , ** query_params ) -> models . ReferenceMarketHolidaysApiResponse :
68
68
endpoint = f"{ self .url } /v1/marketstatus/upcoming"
69
- return self ._handle_response ("MarketHolidaysApiResponse " , endpoint , query_params )
69
+ return self ._handle_response ("ReferenceMarketHolidaysApiResponse " , endpoint , query_params )
70
70
71
- def exchanges (self , ** query_params ):
71
+ def stocks_equities_exchanges (self , ** query_params ) -> models . StocksEquitiesExchangesApiResponse :
72
72
endpoint = f"{ self .url } /v1/meta/exchanges"
73
- return self ._handle_response ("ExchangesApiResponse " , endpoint , query_params )
73
+ return self ._handle_response ("StocksEquitiesExchangesApiResponse " , endpoint , query_params )
74
74
75
- def historic_trades (self , symbol , date , ** query_params ):
75
+ def stocks_equities_historic_trades (self , symbol , date ,
76
+ ** query_params ) -> models .StocksEquitiesHistoricTradesApiResponse :
76
77
endpoint = f"{ self .url } /v1/historic/trades/{ symbol } /{ date } "
77
- return self ._handle_response ("HistoricTradesApiResponse " , endpoint , query_params )
78
+ return self ._handle_response ("StocksEquitiesHistoricTradesApiResponse " , endpoint , query_params )
78
79
79
- def historic_trades_v2 (self , ticker , date , ** query_params ):
80
+ def historic_trades_v2 (self , ticker , date , ** query_params ) -> models . HistoricTradesV2ApiResponse :
80
81
endpoint = f"{ self .url } /v2/ticks/stocks/trades/{ ticker } /{ date } "
81
82
return self ._handle_response ("HistoricTradesV2ApiResponse" , endpoint , query_params )
82
83
83
- def historic_quotes (self , symbol , date , ** query_params ):
84
+ def stocks_equities_historic_quotes (self , symbol , date ,
85
+ ** query_params ) -> models .StocksEquitiesHistoricQuotesApiResponse :
84
86
endpoint = f"{ self .url } /v1/historic/quotes/{ symbol } /{ date } "
85
- return self ._handle_response ("HistoricQuotesApiResponse " , endpoint , query_params )
87
+ return self ._handle_response ("StocksEquitiesHistoricQuotesApiResponse " , endpoint , query_params )
86
88
87
- def historic_n___bbo_quotes_v2 (self , ticker , date , ** query_params ):
89
+ def historic_n___bbo_quotes_v2 (self , ticker , date , ** query_params ) -> models . HistoricNBboQuotesV2ApiResponse :
88
90
endpoint = f"{ self .url } /v2/ticks/stocks/nbbo/{ ticker } /{ date } "
89
91
return self ._handle_response ("HistoricNBboQuotesV2ApiResponse" , endpoint , query_params )
90
92
91
- def last_trade_for_a_symbol (self , symbol , ** query_params ):
93
+ def stocks_equities_last_trade_for_a_symbol (self , symbol ,
94
+ ** query_params ) -> models .StocksEquitiesLastTradeForASymbolApiResponse :
92
95
endpoint = f"{ self .url } /v1/last/stocks/{ symbol } "
93
- return self ._handle_response ("LastTradeForASymbolApiResponse " , endpoint , query_params )
96
+ return self ._handle_response ("StocksEquitiesLastTradeForASymbolApiResponse " , endpoint , query_params )
94
97
95
- def last_quote_for_a_symbol (self , symbol , ** query_params ):
98
+ def stocks_equities_last_quote_for_a_symbol (self , symbol ,
99
+ ** query_params ) -> models .StocksEquitiesLastQuoteForASymbolApiResponse :
96
100
endpoint = f"{ self .url } /v1/last_quote/stocks/{ symbol } "
97
- return self ._handle_response ("LastQuoteForASymbolApiResponse " , endpoint , query_params )
101
+ return self ._handle_response ("StocksEquitiesLastQuoteForASymbolApiResponse " , endpoint , query_params )
98
102
99
- def daily_open_close (self , symbol , date , ** query_params ):
103
+ def stocks_equities_daily_open_close (self , symbol , date ,
104
+ ** query_params ) -> models .StocksEquitiesDailyOpenCloseApiResponse :
100
105
endpoint = f"{ self .url } /v1/open-close/{ symbol } /{ date } "
101
- return self ._handle_response ("DailyOpenCloseApiResponse " , endpoint , query_params )
106
+ return self ._handle_response ("StocksEquitiesDailyOpenCloseApiResponse " , endpoint , query_params )
102
107
103
- def condition_mappings (self , ticktype , ** query_params ):
108
+ def stocks_equities_condition_mappings (self , ticktype ,
109
+ ** query_params ) -> models .StocksEquitiesConditionMappingsApiResponse :
104
110
endpoint = f"{ self .url } /v1/meta/conditions/{ ticktype } "
105
- return self ._handle_response ("ConditionMappingsApiResponse " , endpoint , query_params )
111
+ return self ._handle_response ("StocksEquitiesConditionMappingsApiResponse " , endpoint , query_params )
106
112
107
- def snapshot_all_tickers (self , ** query_params ):
113
+ def stocks_equities_snapshot_all_tickers (self ,
114
+ ** query_params ) -> models .StocksEquitiesSnapshotAllTickersApiResponse :
108
115
endpoint = f"{ self .url } /v2/snapshot/locale/us/markets/stocks/tickers"
109
- return self ._handle_response ("SnapshotAllTickersApiResponse " , endpoint , query_params )
116
+ return self ._handle_response ("StocksEquitiesSnapshotAllTickersApiResponse " , endpoint , query_params )
110
117
111
- def snapshot_single_ticker (self , ticker , ** query_params ):
118
+ def stocks_equities_snapshot_single_ticker (self , ticker ,
119
+ ** query_params ) -> models .StocksEquitiesSnapshotSingleTickerApiResponse :
112
120
endpoint = f"{ self .url } /v2/snapshot/locale/us/markets/stocks/tickers/{ ticker } "
113
- return self ._handle_response ("SnapshotSingleTickerApiResponse " , endpoint , query_params )
121
+ return self ._handle_response ("StocksEquitiesSnapshotSingleTickerApiResponse " , endpoint , query_params )
114
122
115
- def snapshot_gainers_losers (self , direction , ** query_params ):
123
+ def stocks_equities_snapshot_gainers_losers (self , direction ,
124
+ ** query_params ) -> models .StocksEquitiesSnapshotGainersLosersApiResponse :
116
125
endpoint = f"{ self .url } /v2/snapshot/locale/us/markets/stocks/{ direction } "
117
- return self ._handle_response ("SnapshotGainersLosersApiResponse " , endpoint , query_params )
126
+ return self ._handle_response ("StocksEquitiesSnapshotGainersLosersApiResponse " , endpoint , query_params )
118
127
119
- def previous_close (self , ticker , ** query_params ):
128
+ def stocks_equities_previous_close (self , ticker , ** query_params ) -> models . StocksEquitiesPreviousCloseApiResponse :
120
129
endpoint = f"{ self .url } /v2/aggs/ticker/{ ticker } /prev"
121
- return self ._handle_response ("PreviousCloseApiResponse " , endpoint , query_params )
130
+ return self ._handle_response ("StocksEquitiesPreviousCloseApiResponse " , endpoint , query_params )
122
131
123
- def aggregates (self , ticker , multiplier , timespan , from_ , to , ** query_params ):
132
+ def stocks_equities_aggregates (self , ticker , multiplier , timespan , from_ , to ,
133
+ ** query_params ) -> models .StocksEquitiesAggregatesApiResponse :
124
134
endpoint = f"{ self .url } /v2/aggs/ticker/{ ticker } /range/{ multiplier } /{ timespan } /{ from_ } /{ to } "
125
- return self ._handle_response ("AggregatesApiResponse " , endpoint , query_params )
135
+ return self ._handle_response ("StocksEquitiesAggregatesApiResponse " , endpoint , query_params )
126
136
127
- def grouped_daily (self , locale , market , date , ** query_params ):
137
+ def stocks_equities_grouped_daily (self , locale , market , date ,
138
+ ** query_params ) -> models .StocksEquitiesGroupedDailyApiResponse :
128
139
endpoint = f"{ self .url } /v2/aggs/grouped/locale/{ locale } /market/{ market } /{ date } "
129
- return self ._handle_response ("GroupedDailyApiResponse " , endpoint , query_params )
140
+ return self ._handle_response ("StocksEquitiesGroupedDailyApiResponse " , endpoint , query_params )
130
141
131
- def historic_forex_ticks (self , from_ , to , date , ** query_params ):
142
+ def forex_currencies_historic_forex_ticks (self , from_ , to , date ,
143
+ ** query_params ) -> models .ForexCurrenciesHistoricForexTicksApiResponse :
132
144
endpoint = f"{ self .url } /v1/historic/forex/{ from_ } /{ to } /{ date } "
133
- return self ._handle_response ("HistoricForexTicksApiResponse " , endpoint , query_params )
145
+ return self ._handle_response ("ForexCurrenciesHistoricForexTicksApiResponse " , endpoint , query_params )
134
146
135
- def real_time_currency_conversion (self , from_ , to , ** query_params ):
147
+ def forex_currencies_real_time_currency_conversion (self , from_ , to ,
148
+ ** query_params ) -> models .ForexCurrenciesRealTimeCurrencyConversionApiResponse :
136
149
endpoint = f"{ self .url } /v1/conversion/{ from_ } /{ to } "
137
- return self ._handle_response ("RealTimeCurrencyConversionApiResponse " , endpoint , query_params )
150
+ return self ._handle_response ("ForexCurrenciesRealTimeCurrencyConversionApiResponse " , endpoint , query_params )
138
151
139
- def last_quote_for_a_currency_pair (self , from_ , to , ** query_params ):
152
+ def forex_currencies_last_quote_for_a_currency_pair (self , from_ , to ,
153
+ ** query_params ) -> models .ForexCurrenciesLastQuoteForACurrencyPairApiResponse :
140
154
endpoint = f"{ self .url } /v1/last_quote/currencies/{ from_ } /{ to } "
141
- return self ._handle_response ("LastQuoteForACurrencyPairApiResponse " , endpoint , query_params )
155
+ return self ._handle_response ("ForexCurrenciesLastQuoteForACurrencyPairApiResponse " , endpoint , query_params )
142
156
143
- def snapshot_all_tickers (self , ** query_params ):
157
+ def forex_currencies_snapshot_all_tickers (self ,
158
+ ** query_params ) -> models .ForexCurrenciesSnapshotAllTickersApiResponse :
144
159
endpoint = f"{ self .url } /v2/snapshot/locale/global/markets/forex/tickers"
145
- return self ._handle_response ("SnapshotAllTickersApiResponse " , endpoint , query_params )
160
+ return self ._handle_response ("ForexCurrenciesSnapshotAllTickersApiResponse " , endpoint , query_params )
146
161
147
- def snapshot_gainers_losers (self , direction , ** query_params ):
162
+ def forex_currencies_snapshot_gainers_losers (self , direction ,
163
+ ** query_params ) -> models .ForexCurrenciesSnapshotGainersLosersApiResponse :
148
164
endpoint = f"{ self .url } /v2/snapshot/locale/global/markets/forex/{ direction } "
149
- return self ._handle_response ("SnapshotGainersLosersApiResponse " , endpoint , query_params )
165
+ return self ._handle_response ("ForexCurrenciesSnapshotGainersLosersApiResponse " , endpoint , query_params )
150
166
151
- def crypto_exchanges (self , ** query_params ):
167
+ def crypto_crypto_exchanges (self , ** query_params ) -> models . CryptoCryptoExchangesApiResponse :
152
168
endpoint = f"{ self .url } /v1/meta/crypto-exchanges"
153
- return self ._handle_response ("CryptoExchangesApiResponse " , endpoint , query_params )
169
+ return self ._handle_response ("CryptoCryptoExchangesApiResponse " , endpoint , query_params )
154
170
155
- def last_trade_for_a_crypto_pair (self , from_ , to , ** query_params ):
171
+ def crypto_last_trade_for_a_crypto_pair (self , from_ , to ,
172
+ ** query_params ) -> models .CryptoLastTradeForACryptoPairApiResponse :
156
173
endpoint = f"{ self .url } /v1/last/crypto/{ from_ } /{ to } "
157
- return self ._handle_response ("LastTradeForACryptoPairApiResponse " , endpoint , query_params )
174
+ return self ._handle_response ("CryptoLastTradeForACryptoPairApiResponse " , endpoint , query_params )
158
175
159
- def daily_open_close (self , from_ , to , date , ** query_params ):
176
+ def crypto_daily_open_close (self , from_ , to , date , ** query_params ) -> models . CryptoDailyOpenCloseApiResponse :
160
177
endpoint = f"{ self .url } /v1/open-close/crypto/{ from_ } /{ to } /{ date } "
161
- return self ._handle_response ("DailyOpenCloseApiResponse " , endpoint , query_params )
178
+ return self ._handle_response ("CryptoDailyOpenCloseApiResponse " , endpoint , query_params )
162
179
163
- def historic_crypto_trades (self , from_ , to , date , ** query_params ):
180
+ def crypto_historic_crypto_trades (self , from_ , to , date ,
181
+ ** query_params ) -> models .CryptoHistoricCryptoTradesApiResponse :
164
182
endpoint = f"{ self .url } /v1/historic/crypto/{ from_ } /{ to } /{ date } "
165
- return self ._handle_response ("HistoricCryptoTradesApiResponse " , endpoint , query_params )
183
+ return self ._handle_response ("CryptoHistoricCryptoTradesApiResponse " , endpoint , query_params )
166
184
167
- def snapshot_all_tickers (self , ** query_params ):
185
+ def crypto_snapshot_all_tickers (self , ** query_params ) -> models . CryptoSnapshotAllTickersApiResponse :
168
186
endpoint = f"{ self .url } /v2/snapshot/locale/global/markets/crypto/tickers"
169
- return self ._handle_response ("SnapshotAllTickersApiResponse " , endpoint , query_params )
187
+ return self ._handle_response ("CryptoSnapshotAllTickersApiResponse " , endpoint , query_params )
170
188
171
- def snapshot_single_ticker (self , ticker , ** query_params ):
189
+ def crypto_snapshot_single_ticker (self , ticker , ** query_params ) -> models . CryptoSnapshotSingleTickerApiResponse :
172
190
endpoint = f"{ self .url } /v2/snapshot/locale/global/markets/crypto/tickers/{ ticker } "
173
- return self ._handle_response ("SnapshotSingleTickerApiResponse " , endpoint , query_params )
191
+ return self ._handle_response ("CryptoSnapshotSingleTickerApiResponse " , endpoint , query_params )
174
192
175
- def snapshot_single_ticker_full_book (self , ticker , ** query_params ):
193
+ def crypto_snapshot_single_ticker_full_book (self , ticker ,
194
+ ** query_params ) -> models .CryptoSnapshotSingleTickerFullBookApiResponse :
176
195
endpoint = f"{ self .url } /v2/snapshot/locale/global/markets/crypto/tickers/{ ticker } /book"
177
- return self ._handle_response ("SnapshotSingleTickerFullBookApiResponse " , endpoint , query_params )
196
+ return self ._handle_response ("CryptoSnapshotSingleTickerFullBookApiResponse " , endpoint , query_params )
178
197
179
- def snapshot_gainers_losers (self , direction , ** query_params ):
198
+ def crypto_snapshot_gainers_losers (self , direction ,
199
+ ** query_params ) -> models .CryptoSnapshotGainersLosersApiResponse :
180
200
endpoint = f"{ self .url } /v2/snapshot/locale/global/markets/crypto/{ direction } "
181
- return self ._handle_response ("SnapshotGainersLosersApiResponse " , endpoint , query_params )
201
+ return self ._handle_response ("CryptoSnapshotGainersLosersApiResponse " , endpoint , query_params )
0 commit comments