eulerpool 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. eulerpool/__init__.py +281 -0
  2. eulerpool/_client.py +250 -0
  3. eulerpool/_version.py +3 -0
  4. eulerpool/errors.py +46 -0
  5. eulerpool/py.typed +0 -0
  6. eulerpool/resources/__init__.py +0 -0
  7. eulerpool/resources/_base.py +34 -0
  8. eulerpool/resources/aaq.py +18 -0
  9. eulerpool/resources/alternative.py +116 -0
  10. eulerpool/resources/analytics.py +50 -0
  11. eulerpool/resources/backtest.py +66 -0
  12. eulerpool/resources/bonds.py +36 -0
  13. eulerpool/resources/calendar.py +78 -0
  14. eulerpool/resources/certificates.py +30 -0
  15. eulerpool/resources/charting.py +42 -0
  16. eulerpool/resources/commodity.py +64 -0
  17. eulerpool/resources/crypto.py +30 -0
  18. eulerpool/resources/crypto_extended.py +246 -0
  19. eulerpool/resources/data.py +24 -0
  20. eulerpool/resources/datasets.py +100 -0
  21. eulerpool/resources/deals.py +28 -0
  22. eulerpool/resources/derivatives.py +68 -0
  23. eulerpool/resources/dex.py +54 -0
  24. eulerpool/resources/earning_calls.py +24 -0
  25. eulerpool/resources/ecb.py +34 -0
  26. eulerpool/resources/economic_forecasts.py +28 -0
  27. eulerpool/resources/energy.py +94 -0
  28. eulerpool/resources/equity.py +420 -0
  29. eulerpool/resources/equity_extended.py +150 -0
  30. eulerpool/resources/etf.py +60 -0
  31. eulerpool/resources/fair_value.py +18 -0
  32. eulerpool/resources/fixed_income.py +46 -0
  33. eulerpool/resources/forex.py +24 -0
  34. eulerpool/resources/fundamentals.py +60 -0
  35. eulerpool/resources/funds.py +32 -0
  36. eulerpool/resources/government.py +42 -0
  37. eulerpool/resources/ice_swap.py +18 -0
  38. eulerpool/resources/index.py +34 -0
  39. eulerpool/resources/institutional.py +60 -0
  40. eulerpool/resources/interest_rates.py +34 -0
  41. eulerpool/resources/macro.py +156 -0
  42. eulerpool/resources/market.py +214 -0
  43. eulerpool/resources/mutual_fund.py +42 -0
  44. eulerpool/resources/news.py +18 -0
  45. eulerpool/resources/nft.py +42 -0
  46. eulerpool/resources/partner.py +18 -0
  47. eulerpool/resources/patents.py +24 -0
  48. eulerpool/resources/peer_comparison.py +58 -0
  49. eulerpool/resources/portfolio.py +96 -0
  50. eulerpool/resources/portfolio_risk.py +58 -0
  51. eulerpool/resources/private_markets.py +24 -0
  52. eulerpool/resources/research.py +30 -0
  53. eulerpool/resources/risk_models.py +52 -0
  54. eulerpool/resources/screener.py +46 -0
  55. eulerpool/resources/sentiment.py +60 -0
  56. eulerpool/resources/shipping.py +58 -0
  57. eulerpool/resources/singapore.py +82 -0
  58. eulerpool/resources/transcripts.py +40 -0
  59. eulerpool/resources/trends.py +18 -0
  60. eulerpool/resources/vendor.py +28 -0
  61. eulerpool-1.0.0.dist-info/METADATA +146 -0
  62. eulerpool-1.0.0.dist-info/RECORD +64 -0
  63. eulerpool-1.0.0.dist-info/WHEEL +4 -0
  64. eulerpool-1.0.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,94 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Any, Optional
4
+ from urllib.parse import quote
5
+
6
+ from ._base import AsyncResource, SyncResource
7
+
8
+
9
+ class Energy(SyncResource):
10
+ def coal_quarterly(self, **params: Any) -> Any:
11
+ """Coal Quarterly"""
12
+ return self._get("/energy/coal/quarterly", params)
13
+ def electricity_monthly(self, **params: Any) -> Any:
14
+ """Electricity Monthly"""
15
+ return self._get("/energy/electricity/monthly", params)
16
+ def energy_latest(self, **params: Any) -> Any:
17
+ """Latest Energy Data"""
18
+ return self._get("/energy/energy/latest", params)
19
+ def jodi(self, **params: Any) -> Any:
20
+ """JODI Oil & Gas Flows"""
21
+ return self._get("/energy/jodi", params)
22
+ def natural_gas_weekly(self, **params: Any) -> Any:
23
+ """Natural Gas Weekly"""
24
+ return self._get("/energy/natural-gas/weekly", params)
25
+ def petroleum_weekly(self, **params: Any) -> Any:
26
+ """Petroleum Weekly"""
27
+ return self._get("/energy/petroleum/weekly", params)
28
+ def pipelines(self, id: Optional[str] = None, **params: Any) -> Any:
29
+ """Pipeline Details"""
30
+ if id is not None:
31
+ return self._get(f"/energy/pipelines/{quote(str(id))}", params)
32
+ return self._get("/energy/pipelines/", params)
33
+ def pipelines_flows(self, id: str, **params: Any) -> Any:
34
+ """Pipeline Flows"""
35
+ return self._get(f"/energy/pipelines/{quote(str(id))}/flows", params)
36
+ def pipelines_flows_latest(self, **params: Any) -> Any:
37
+ """Latest Pipeline Flows"""
38
+ return self._get("/energy/pipelines/flows/latest", params)
39
+ def storage_facilities(self, **params: Any) -> Any:
40
+ """Storage Facilities"""
41
+ return self._get("/energy/storage/facilities", params)
42
+ def storage_facilities_levels(self, id: str, **params: Any) -> Any:
43
+ """Facility Storage Levels"""
44
+ return self._get(f"/energy/storage/facilities/{quote(str(id))}/levels", params)
45
+ def storage_latest(self, **params: Any) -> Any:
46
+ """Latest Storage Levels"""
47
+ return self._get("/energy/storage/latest", params)
48
+ def storage_summary(self, **params: Any) -> Any:
49
+ """Storage Summary"""
50
+ return self._get("/energy/storage/summary", params)
51
+
52
+
53
+ class AsyncEnergy(AsyncResource):
54
+ async def coal_quarterly(self, **params: Any) -> Any:
55
+ """Coal Quarterly"""
56
+ return await self._get("/energy/coal/quarterly", params)
57
+ async def electricity_monthly(self, **params: Any) -> Any:
58
+ """Electricity Monthly"""
59
+ return await self._get("/energy/electricity/monthly", params)
60
+ async def energy_latest(self, **params: Any) -> Any:
61
+ """Latest Energy Data"""
62
+ return await self._get("/energy/energy/latest", params)
63
+ async def jodi(self, **params: Any) -> Any:
64
+ """JODI Oil & Gas Flows"""
65
+ return await self._get("/energy/jodi", params)
66
+ async def natural_gas_weekly(self, **params: Any) -> Any:
67
+ """Natural Gas Weekly"""
68
+ return await self._get("/energy/natural-gas/weekly", params)
69
+ async def petroleum_weekly(self, **params: Any) -> Any:
70
+ """Petroleum Weekly"""
71
+ return await self._get("/energy/petroleum/weekly", params)
72
+ async def pipelines(self, id: Optional[str] = None, **params: Any) -> Any:
73
+ """Pipeline Details"""
74
+ if id is not None:
75
+ return await self._get(f"/energy/pipelines/{quote(str(id))}", params)
76
+ return await self._get("/energy/pipelines/", params)
77
+ async def pipelines_flows(self, id: str, **params: Any) -> Any:
78
+ """Pipeline Flows"""
79
+ return await self._get(f"/energy/pipelines/{quote(str(id))}/flows", params)
80
+ async def pipelines_flows_latest(self, **params: Any) -> Any:
81
+ """Latest Pipeline Flows"""
82
+ return await self._get("/energy/pipelines/flows/latest", params)
83
+ async def storage_facilities(self, **params: Any) -> Any:
84
+ """Storage Facilities"""
85
+ return await self._get("/energy/storage/facilities", params)
86
+ async def storage_facilities_levels(self, id: str, **params: Any) -> Any:
87
+ """Facility Storage Levels"""
88
+ return await self._get(f"/energy/storage/facilities/{quote(str(id))}/levels", params)
89
+ async def storage_latest(self, **params: Any) -> Any:
90
+ """Latest Storage Levels"""
91
+ return await self._get("/energy/storage/latest", params)
92
+ async def storage_summary(self, **params: Any) -> Any:
93
+ """Storage Summary"""
94
+ return await self._get("/energy/storage/summary", params)
@@ -0,0 +1,420 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Any, Optional
4
+ from urllib.parse import quote
5
+
6
+ from ._base import AsyncResource, SyncResource
7
+
8
+
9
+ class Equity(SyncResource):
10
+ def aaqs(self, identifier: str, **params: Any) -> Any:
11
+ """AAQS Quality Score API"""
12
+ return self._get(f"/equity/aaqs/{quote(str(identifier))}", params)
13
+ def analyst_grades(self, identifier: str, **params: Any) -> Any:
14
+ """Analyst Grades API"""
15
+ return self._get(f"/equity/analyst-grades/{quote(str(identifier))}", params)
16
+ def balance_sheet(self, identifier: str, **params: Any) -> Any:
17
+ """Balance Sheet API"""
18
+ return self._get(f"/equity/balancesheet/{quote(str(identifier))}", params)
19
+ balancesheet = balance_sheet
20
+ def beneficial_ownership(self, identifier: str, **params: Any) -> Any:
21
+ """Beneficial Ownership API"""
22
+ return self._get(f"/equity/beneficial-ownership/{quote(str(identifier))}", params)
23
+ def candles(self, identifier: str, **params: Any) -> Any:
24
+ """Stock OHLCV Candles API"""
25
+ return self._get(f"/equity/candles/{quote(str(identifier))}", params)
26
+ def cash_flow_statement(self, identifier: str, **params: Any) -> Any:
27
+ """Cash Flow Statement API"""
28
+ return self._get(f"/equity/cashflowstatement/{quote(str(identifier))}", params)
29
+ cashflowstatement = cash_flow_statement
30
+ def cashflow_statement_quarterly(self, identifier: str, **params: Any) -> Any:
31
+ """Quarterly Cash Flow Statement API"""
32
+ return self._get(f"/equity/cashflow-statement-quarterly/{quote(str(identifier))}", params)
33
+ def country_insider_trades(self, country: str, **params: Any) -> Any:
34
+ """Country Insider Trades API"""
35
+ return self._get(f"/equity/country-insider-trades/{quote(str(country))}", params)
36
+ def coverage(self, identifier: str, **params: Any) -> Any:
37
+ """Data Coverage API"""
38
+ return self._get(f"/equity/coverage/{quote(str(identifier))}", params)
39
+ def discover(self, **params: Any) -> Any:
40
+ """Discover Stocks API"""
41
+ return self._get("/equity/discover", params)
42
+ def dividend_quality(self, identifier: str, **params: Any) -> Any:
43
+ """Dividend Quality API"""
44
+ return self._get(f"/equity/dividend-quality/{quote(str(identifier))}", params)
45
+ def dividend_safety(self, ticker: str, **params: Any) -> Any:
46
+ """Dividend Safety Score API"""
47
+ return self._get(f"/equity/dividend-safety/{quote(str(ticker))}", params)
48
+ def dividends(self, identifier: str, **params: Any) -> Any:
49
+ """Dividends API"""
50
+ return self._get(f"/equity/dividends/{quote(str(identifier))}", params)
51
+ def dividends_by_fy(self, identifier: str, **params: Any) -> Any:
52
+ """Dividends by Fiscal Year API"""
53
+ return self._get(f"/equity/dividends-by-fy/{quote(str(identifier))}", params)
54
+ def employees(self, identifier: str, **params: Any) -> Any:
55
+ """Employee Count History API"""
56
+ return self._get(f"/equity/employees/{quote(str(identifier))}", params)
57
+ def esg_rating(self, identifier: str, **params: Any) -> Any:
58
+ """ESG Rating API"""
59
+ return self._get(f"/equity/esg-rating/{quote(str(identifier))}", params)
60
+ def estimates(self, identifier: str, **params: Any) -> Any:
61
+ """Analyst Estimates API"""
62
+ return self._get(f"/equity/estimates/{quote(str(identifier))}", params)
63
+ def etf_exposure(self, identifier: str, **params: Any) -> Any:
64
+ """ETF Exposure"""
65
+ return self._get(f"/equity/etf-exposure/{quote(str(identifier))}", params)
66
+ def executives(self, identifier: str, **params: Any) -> Any:
67
+ """Company Executives API"""
68
+ return self._get(f"/equity/executives/{quote(str(identifier))}", params)
69
+ def forecast(self, identifier: str, **params: Any) -> Any:
70
+ """Analyst Forecast Detail"""
71
+ return self._get(f"/equity/forecast/{quote(str(identifier))}", params)
72
+ def fundamentals_quarterly(self, identifier: str, **params: Any) -> Any:
73
+ """Quarterly Fundamentals API"""
74
+ return self._get(f"/equity/fundamentals-quarterly/{quote(str(identifier))}", params)
75
+ def grade_news(self, **params: Any) -> Any:
76
+ """Analyst Grade News (Market-Wide)"""
77
+ return self._get("/equity/grade-news", params)
78
+ def growth(self, identifier: str, **params: Any) -> Any:
79
+ """Growth Metrics API"""
80
+ return self._get(f"/equity/growth/{quote(str(identifier))}", params)
81
+ def income_statement(self, identifier: str, **params: Any) -> Any:
82
+ """Income Statement API"""
83
+ return self._get(f"/equity/incomestatement/{quote(str(identifier))}", params)
84
+ incomestatement = income_statement
85
+ def income_statement_quarterly(self, identifier: str, **params: Any) -> Any:
86
+ """Quarterly Income Statement API"""
87
+ return self._get(f"/equity/income-statement-quarterly/{quote(str(identifier))}", params)
88
+ def insider_trades(self, identifier: str, **params: Any) -> Any:
89
+ """Insider Trades API"""
90
+ return self._get(f"/equity/insider-trades/{quote(str(identifier))}", params)
91
+ def insider_trades_derivatives(self, identifier: str, **params: Any) -> Any:
92
+ """SEC Derivative Insider Trades API"""
93
+ return self._get(f"/equity/insider-trades-derivatives/{quote(str(identifier))}", params)
94
+ def insider_trades_eu(self, identifier: str, **params: Any) -> Any:
95
+ """EU Insider Trades API"""
96
+ return self._get(f"/equity/insider-trades-eu/{quote(str(identifier))}", params)
97
+ def key_figures(self, identifier: str, **params: Any) -> Any:
98
+ """Company Key Figures"""
99
+ return self._get(f"/equity/key-figures/{quote(str(identifier))}", params)
100
+ def kpi(self, identifier: str, **params: Any) -> Any:
101
+ """KPI Bundle API"""
102
+ return self._get(f"/equity/kpi/{quote(str(identifier))}", params)
103
+ def list(self, **params: Any) -> Any:
104
+ """List All Stocks API"""
105
+ return self._get("/equity/list", params)
106
+ def margins(self, identifier: str, **params: Any) -> Any:
107
+ """Margin Data API"""
108
+ return self._get(f"/equity/margins/{quote(str(identifier))}", params)
109
+ def market_cap(self, identifier: str, **params: Any) -> Any:
110
+ """Historical Market Cap API"""
111
+ return self._get(f"/equity/market-cap/{quote(str(identifier))}", params)
112
+ def market_cap_history(self, identifier: str, **params: Any) -> Any:
113
+ """Market Cap History (Vendor)"""
114
+ return self._get(f"/equity/market-cap-history/{quote(str(identifier))}", params)
115
+ def market_multiples(self, type: str, **params: Any) -> Any:
116
+ """Market-Wide Valuation Multiples"""
117
+ return self._get(f"/equity/market-multiples/{quote(str(type))}", params)
118
+ def metrics(self, identifier: str, **params: Any) -> Any:
119
+ """Financial Metrics & Ratios API"""
120
+ return self._get(f"/equity/metrics/{quote(str(identifier))}", params)
121
+ def overview(self, identifier: str, **params: Any) -> Any:
122
+ """Company Overview API"""
123
+ return self._get(f"/equity/overview/{quote(str(identifier))}", params)
124
+ def ownership(self, identifier: str, **params: Any) -> Any:
125
+ """Stock Ownership API"""
126
+ return self._get(f"/equity/ownership/{quote(str(identifier))}", params)
127
+ def peers(self, identifier: str, **params: Any) -> Any:
128
+ """Company Peers API"""
129
+ return self._get(f"/equity/peers/{quote(str(identifier))}", params)
130
+ def pit_estimates(self, ticker: str, **params: Any) -> Any:
131
+ """Point-in-Time Estimates API"""
132
+ return self._get(f"/equity/pit/estimates/{quote(str(ticker))}", params)
133
+ def pit_profile(self, identifier: str, **params: Any) -> Any:
134
+ """Point-in-Time Profile API"""
135
+ return self._get(f"/equity/pit/profile/{quote(str(identifier))}", params)
136
+ def price_change(self, identifier: str, **params: Any) -> Any:
137
+ """Price Change Summary"""
138
+ return self._get(f"/equity/price-change/{quote(str(identifier))}", params)
139
+ def price_target(self, identifier: str, **params: Any) -> Any:
140
+ """Current Analyst Price Target Consensus"""
141
+ return self._get(f"/equity/price-target/{quote(str(identifier))}", params)
142
+ def price_target_consensus(self, identifier: str, **params: Any) -> Any:
143
+ """Price Target Consensus API"""
144
+ return self._get(f"/equity/price-target-consensus/{quote(str(identifier))}", params)
145
+ def price_target_news(self, identifier: str, **params: Any) -> Any:
146
+ """Price Target News"""
147
+ return self._get(f"/equity/price-target-news/{quote(str(identifier))}", params)
148
+ def price_target_news_latest(self, **params: Any) -> Any:
149
+ """Price Target News (Market-Wide)"""
150
+ return self._get("/equity/price-target-news-latest", params)
151
+ def profile(self, identifier: str, **params: Any) -> Any:
152
+ """Profile API"""
153
+ return self._get(f"/equity/profile/{quote(str(identifier))}", params)
154
+ def quality_scores(self, ticker: str, **params: Any) -> Any:
155
+ """Quality Scores API"""
156
+ return self._get(f"/equity/quality-scores/{quote(str(ticker))}", params)
157
+ def quotes(self, identifier: str, **params: Any) -> Any:
158
+ """Quote API"""
159
+ return self._get(f"/equity/quotes/{quote(str(identifier))}", params)
160
+ def regions(self, identifier: str, **params: Any) -> Any:
161
+ """Revenue by Region API"""
162
+ return self._get(f"/equity/regions/{quote(str(identifier))}", params)
163
+ def relative_move(self, identifier: str, **params: Any) -> Any:
164
+ """Relative Price Move"""
165
+ return self._get(f"/equity/relative-move/{quote(str(identifier))}", params)
166
+ def returns(self, identifier: str, **params: Any) -> Any:
167
+ """Stock Returns API"""
168
+ return self._get(f"/equity/returns/{quote(str(identifier))}", params)
169
+ def search(self, **params: Any) -> Any:
170
+ """Stock Search API"""
171
+ return self._get("/equity/search", params)
172
+ def sec_form4(self, identifier: str, **params: Any) -> Any:
173
+ """SEC Form 4 Insider Trades API"""
174
+ return self._get(f"/equity/sec-form4/{quote(str(identifier))}", params)
175
+ def sec_ftd(self, ticker: str, **params: Any) -> Any:
176
+ """SEC Fail-to-Deliver API"""
177
+ return self._get(f"/equity/sec-ftd/{quote(str(ticker))}", params)
178
+ def segments(self, identifier: str, **params: Any) -> Any:
179
+ """Business Segments API"""
180
+ return self._get(f"/equity/segments/{quote(str(identifier))}", params)
181
+ def segments_history(self, identifier: str, **params: Any) -> Any:
182
+ """Revenue Segments History API"""
183
+ return self._get(f"/equity/segments-history/{quote(str(identifier))}", params)
184
+ def shares_float(self, identifier: str, **params: Any) -> Any:
185
+ """Shares Float API"""
186
+ return self._get(f"/equity/shares-float/{quote(str(identifier))}", params)
187
+ def shares_outstanding(self, identifier: str, **params: Any) -> Any:
188
+ """Historical Shares Outstanding API"""
189
+ return self._get(f"/equity/shares-outstanding/{quote(str(identifier))}", params)
190
+ def short_interest_positions(self, identifier: str, **params: Any) -> Any:
191
+ """Short Interest Positions API"""
192
+ return self._get(f"/equity/short-interest-positions/{quote(str(identifier))}", params)
193
+ def short_volume(self, identifier: str, **params: Any) -> Any:
194
+ """Short Volume API"""
195
+ return self._get(f"/equity/short-volume/{quote(str(identifier))}", params)
196
+ def splits(self, identifier: str, **params: Any) -> Any:
197
+ """Stock Splits API"""
198
+ return self._get(f"/equity/splits/{quote(str(identifier))}", params)
199
+ def supply_chain(self, identifier: str, **params: Any) -> Any:
200
+ """Supply Chain API"""
201
+ return self._get(f"/equity/supply-chain/{quote(str(identifier))}", params)
202
+ def swot(self, identifier: str, **params: Any) -> Any:
203
+ """SWOT Analysis API"""
204
+ return self._get(f"/equity/swot/{quote(str(identifier))}", params)
205
+ def upgrades(self, identifier: str, **params: Any) -> Any:
206
+ """Analyst Upgrade/Downgrade History API"""
207
+ return self._get(f"/equity/upgrades/{quote(str(identifier))}", params)
208
+ def valuation_history(self, identifier: str, **params: Any) -> Any:
209
+ """Valuation History API"""
210
+ return self._get(f"/equity/valuation-history/{quote(str(identifier))}", params)
211
+ def vendor_ratings(self, identifier: str, **params: Any) -> Any:
212
+ """Vendor Analyst Ratings"""
213
+ return self._get(f"/equity/vendor-ratings/{quote(str(identifier))}", params)
214
+
215
+
216
+ class AsyncEquity(AsyncResource):
217
+ async def aaqs(self, identifier: str, **params: Any) -> Any:
218
+ """AAQS Quality Score API"""
219
+ return await self._get(f"/equity/aaqs/{quote(str(identifier))}", params)
220
+ async def analyst_grades(self, identifier: str, **params: Any) -> Any:
221
+ """Analyst Grades API"""
222
+ return await self._get(f"/equity/analyst-grades/{quote(str(identifier))}", params)
223
+ async def balance_sheet(self, identifier: str, **params: Any) -> Any:
224
+ """Balance Sheet API"""
225
+ return await self._get(f"/equity/balancesheet/{quote(str(identifier))}", params)
226
+ balancesheet = balance_sheet
227
+ async def beneficial_ownership(self, identifier: str, **params: Any) -> Any:
228
+ """Beneficial Ownership API"""
229
+ return await self._get(f"/equity/beneficial-ownership/{quote(str(identifier))}", params)
230
+ async def candles(self, identifier: str, **params: Any) -> Any:
231
+ """Stock OHLCV Candles API"""
232
+ return await self._get(f"/equity/candles/{quote(str(identifier))}", params)
233
+ async def cash_flow_statement(self, identifier: str, **params: Any) -> Any:
234
+ """Cash Flow Statement API"""
235
+ return await self._get(f"/equity/cashflowstatement/{quote(str(identifier))}", params)
236
+ cashflowstatement = cash_flow_statement
237
+ async def cashflow_statement_quarterly(self, identifier: str, **params: Any) -> Any:
238
+ """Quarterly Cash Flow Statement API"""
239
+ return await self._get(f"/equity/cashflow-statement-quarterly/{quote(str(identifier))}", params)
240
+ async def country_insider_trades(self, country: str, **params: Any) -> Any:
241
+ """Country Insider Trades API"""
242
+ return await self._get(f"/equity/country-insider-trades/{quote(str(country))}", params)
243
+ async def coverage(self, identifier: str, **params: Any) -> Any:
244
+ """Data Coverage API"""
245
+ return await self._get(f"/equity/coverage/{quote(str(identifier))}", params)
246
+ async def discover(self, **params: Any) -> Any:
247
+ """Discover Stocks API"""
248
+ return await self._get("/equity/discover", params)
249
+ async def dividend_quality(self, identifier: str, **params: Any) -> Any:
250
+ """Dividend Quality API"""
251
+ return await self._get(f"/equity/dividend-quality/{quote(str(identifier))}", params)
252
+ async def dividend_safety(self, ticker: str, **params: Any) -> Any:
253
+ """Dividend Safety Score API"""
254
+ return await self._get(f"/equity/dividend-safety/{quote(str(ticker))}", params)
255
+ async def dividends(self, identifier: str, **params: Any) -> Any:
256
+ """Dividends API"""
257
+ return await self._get(f"/equity/dividends/{quote(str(identifier))}", params)
258
+ async def dividends_by_fy(self, identifier: str, **params: Any) -> Any:
259
+ """Dividends by Fiscal Year API"""
260
+ return await self._get(f"/equity/dividends-by-fy/{quote(str(identifier))}", params)
261
+ async def employees(self, identifier: str, **params: Any) -> Any:
262
+ """Employee Count History API"""
263
+ return await self._get(f"/equity/employees/{quote(str(identifier))}", params)
264
+ async def esg_rating(self, identifier: str, **params: Any) -> Any:
265
+ """ESG Rating API"""
266
+ return await self._get(f"/equity/esg-rating/{quote(str(identifier))}", params)
267
+ async def estimates(self, identifier: str, **params: Any) -> Any:
268
+ """Analyst Estimates API"""
269
+ return await self._get(f"/equity/estimates/{quote(str(identifier))}", params)
270
+ async def etf_exposure(self, identifier: str, **params: Any) -> Any:
271
+ """ETF Exposure"""
272
+ return await self._get(f"/equity/etf-exposure/{quote(str(identifier))}", params)
273
+ async def executives(self, identifier: str, **params: Any) -> Any:
274
+ """Company Executives API"""
275
+ return await self._get(f"/equity/executives/{quote(str(identifier))}", params)
276
+ async def forecast(self, identifier: str, **params: Any) -> Any:
277
+ """Analyst Forecast Detail"""
278
+ return await self._get(f"/equity/forecast/{quote(str(identifier))}", params)
279
+ async def fundamentals_quarterly(self, identifier: str, **params: Any) -> Any:
280
+ """Quarterly Fundamentals API"""
281
+ return await self._get(f"/equity/fundamentals-quarterly/{quote(str(identifier))}", params)
282
+ async def grade_news(self, **params: Any) -> Any:
283
+ """Analyst Grade News (Market-Wide)"""
284
+ return await self._get("/equity/grade-news", params)
285
+ async def growth(self, identifier: str, **params: Any) -> Any:
286
+ """Growth Metrics API"""
287
+ return await self._get(f"/equity/growth/{quote(str(identifier))}", params)
288
+ async def income_statement(self, identifier: str, **params: Any) -> Any:
289
+ """Income Statement API"""
290
+ return await self._get(f"/equity/incomestatement/{quote(str(identifier))}", params)
291
+ incomestatement = income_statement
292
+ async def income_statement_quarterly(self, identifier: str, **params: Any) -> Any:
293
+ """Quarterly Income Statement API"""
294
+ return await self._get(f"/equity/income-statement-quarterly/{quote(str(identifier))}", params)
295
+ async def insider_trades(self, identifier: str, **params: Any) -> Any:
296
+ """Insider Trades API"""
297
+ return await self._get(f"/equity/insider-trades/{quote(str(identifier))}", params)
298
+ async def insider_trades_derivatives(self, identifier: str, **params: Any) -> Any:
299
+ """SEC Derivative Insider Trades API"""
300
+ return await self._get(f"/equity/insider-trades-derivatives/{quote(str(identifier))}", params)
301
+ async def insider_trades_eu(self, identifier: str, **params: Any) -> Any:
302
+ """EU Insider Trades API"""
303
+ return await self._get(f"/equity/insider-trades-eu/{quote(str(identifier))}", params)
304
+ async def key_figures(self, identifier: str, **params: Any) -> Any:
305
+ """Company Key Figures"""
306
+ return await self._get(f"/equity/key-figures/{quote(str(identifier))}", params)
307
+ async def kpi(self, identifier: str, **params: Any) -> Any:
308
+ """KPI Bundle API"""
309
+ return await self._get(f"/equity/kpi/{quote(str(identifier))}", params)
310
+ async def list(self, **params: Any) -> Any:
311
+ """List All Stocks API"""
312
+ return await self._get("/equity/list", params)
313
+ async def margins(self, identifier: str, **params: Any) -> Any:
314
+ """Margin Data API"""
315
+ return await self._get(f"/equity/margins/{quote(str(identifier))}", params)
316
+ async def market_cap(self, identifier: str, **params: Any) -> Any:
317
+ """Historical Market Cap API"""
318
+ return await self._get(f"/equity/market-cap/{quote(str(identifier))}", params)
319
+ async def market_cap_history(self, identifier: str, **params: Any) -> Any:
320
+ """Market Cap History (Vendor)"""
321
+ return await self._get(f"/equity/market-cap-history/{quote(str(identifier))}", params)
322
+ async def market_multiples(self, type: str, **params: Any) -> Any:
323
+ """Market-Wide Valuation Multiples"""
324
+ return await self._get(f"/equity/market-multiples/{quote(str(type))}", params)
325
+ async def metrics(self, identifier: str, **params: Any) -> Any:
326
+ """Financial Metrics & Ratios API"""
327
+ return await self._get(f"/equity/metrics/{quote(str(identifier))}", params)
328
+ async def overview(self, identifier: str, **params: Any) -> Any:
329
+ """Company Overview API"""
330
+ return await self._get(f"/equity/overview/{quote(str(identifier))}", params)
331
+ async def ownership(self, identifier: str, **params: Any) -> Any:
332
+ """Stock Ownership API"""
333
+ return await self._get(f"/equity/ownership/{quote(str(identifier))}", params)
334
+ async def peers(self, identifier: str, **params: Any) -> Any:
335
+ """Company Peers API"""
336
+ return await self._get(f"/equity/peers/{quote(str(identifier))}", params)
337
+ async def pit_estimates(self, ticker: str, **params: Any) -> Any:
338
+ """Point-in-Time Estimates API"""
339
+ return await self._get(f"/equity/pit/estimates/{quote(str(ticker))}", params)
340
+ async def pit_profile(self, identifier: str, **params: Any) -> Any:
341
+ """Point-in-Time Profile API"""
342
+ return await self._get(f"/equity/pit/profile/{quote(str(identifier))}", params)
343
+ async def price_change(self, identifier: str, **params: Any) -> Any:
344
+ """Price Change Summary"""
345
+ return await self._get(f"/equity/price-change/{quote(str(identifier))}", params)
346
+ async def price_target(self, identifier: str, **params: Any) -> Any:
347
+ """Current Analyst Price Target Consensus"""
348
+ return await self._get(f"/equity/price-target/{quote(str(identifier))}", params)
349
+ async def price_target_consensus(self, identifier: str, **params: Any) -> Any:
350
+ """Price Target Consensus API"""
351
+ return await self._get(f"/equity/price-target-consensus/{quote(str(identifier))}", params)
352
+ async def price_target_news(self, identifier: str, **params: Any) -> Any:
353
+ """Price Target News"""
354
+ return await self._get(f"/equity/price-target-news/{quote(str(identifier))}", params)
355
+ async def price_target_news_latest(self, **params: Any) -> Any:
356
+ """Price Target News (Market-Wide)"""
357
+ return await self._get("/equity/price-target-news-latest", params)
358
+ async def profile(self, identifier: str, **params: Any) -> Any:
359
+ """Profile API"""
360
+ return await self._get(f"/equity/profile/{quote(str(identifier))}", params)
361
+ async def quality_scores(self, ticker: str, **params: Any) -> Any:
362
+ """Quality Scores API"""
363
+ return await self._get(f"/equity/quality-scores/{quote(str(ticker))}", params)
364
+ async def quotes(self, identifier: str, **params: Any) -> Any:
365
+ """Quote API"""
366
+ return await self._get(f"/equity/quotes/{quote(str(identifier))}", params)
367
+ async def regions(self, identifier: str, **params: Any) -> Any:
368
+ """Revenue by Region API"""
369
+ return await self._get(f"/equity/regions/{quote(str(identifier))}", params)
370
+ async def relative_move(self, identifier: str, **params: Any) -> Any:
371
+ """Relative Price Move"""
372
+ return await self._get(f"/equity/relative-move/{quote(str(identifier))}", params)
373
+ async def returns(self, identifier: str, **params: Any) -> Any:
374
+ """Stock Returns API"""
375
+ return await self._get(f"/equity/returns/{quote(str(identifier))}", params)
376
+ async def search(self, **params: Any) -> Any:
377
+ """Stock Search API"""
378
+ return await self._get("/equity/search", params)
379
+ async def sec_form4(self, identifier: str, **params: Any) -> Any:
380
+ """SEC Form 4 Insider Trades API"""
381
+ return await self._get(f"/equity/sec-form4/{quote(str(identifier))}", params)
382
+ async def sec_ftd(self, ticker: str, **params: Any) -> Any:
383
+ """SEC Fail-to-Deliver API"""
384
+ return await self._get(f"/equity/sec-ftd/{quote(str(ticker))}", params)
385
+ async def segments(self, identifier: str, **params: Any) -> Any:
386
+ """Business Segments API"""
387
+ return await self._get(f"/equity/segments/{quote(str(identifier))}", params)
388
+ async def segments_history(self, identifier: str, **params: Any) -> Any:
389
+ """Revenue Segments History API"""
390
+ return await self._get(f"/equity/segments-history/{quote(str(identifier))}", params)
391
+ async def shares_float(self, identifier: str, **params: Any) -> Any:
392
+ """Shares Float API"""
393
+ return await self._get(f"/equity/shares-float/{quote(str(identifier))}", params)
394
+ async def shares_outstanding(self, identifier: str, **params: Any) -> Any:
395
+ """Historical Shares Outstanding API"""
396
+ return await self._get(f"/equity/shares-outstanding/{quote(str(identifier))}", params)
397
+ async def short_interest_positions(self, identifier: str, **params: Any) -> Any:
398
+ """Short Interest Positions API"""
399
+ return await self._get(f"/equity/short-interest-positions/{quote(str(identifier))}", params)
400
+ async def short_volume(self, identifier: str, **params: Any) -> Any:
401
+ """Short Volume API"""
402
+ return await self._get(f"/equity/short-volume/{quote(str(identifier))}", params)
403
+ async def splits(self, identifier: str, **params: Any) -> Any:
404
+ """Stock Splits API"""
405
+ return await self._get(f"/equity/splits/{quote(str(identifier))}", params)
406
+ async def supply_chain(self, identifier: str, **params: Any) -> Any:
407
+ """Supply Chain API"""
408
+ return await self._get(f"/equity/supply-chain/{quote(str(identifier))}", params)
409
+ async def swot(self, identifier: str, **params: Any) -> Any:
410
+ """SWOT Analysis API"""
411
+ return await self._get(f"/equity/swot/{quote(str(identifier))}", params)
412
+ async def upgrades(self, identifier: str, **params: Any) -> Any:
413
+ """Analyst Upgrade/Downgrade History API"""
414
+ return await self._get(f"/equity/upgrades/{quote(str(identifier))}", params)
415
+ async def valuation_history(self, identifier: str, **params: Any) -> Any:
416
+ """Valuation History API"""
417
+ return await self._get(f"/equity/valuation-history/{quote(str(identifier))}", params)
418
+ async def vendor_ratings(self, identifier: str, **params: Any) -> Any:
419
+ """Vendor Analyst Ratings"""
420
+ return await self._get(f"/equity/vendor-ratings/{quote(str(identifier))}", params)