finance_dev 0.9.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 (486) hide show
  1. finance_dev/__init__.py +18 -0
  2. finance_dev/_hooks/__init__.py +7 -0
  3. finance_dev/_hooks/clientcredentials.py +319 -0
  4. finance_dev/_hooks/oauth2scopes.py +50 -0
  5. finance_dev/_hooks/registration.py +13 -0
  6. finance_dev/_hooks/sdkhooks.py +82 -0
  7. finance_dev/_hooks/types.py +125 -0
  8. finance_dev/_version.py +16 -0
  9. finance_dev/accounts.py +797 -0
  10. finance_dev/alternativedata.py +4830 -0
  11. finance_dev/analytics.py +3757 -0
  12. finance_dev/basesdk.py +393 -0
  13. finance_dev/calendar.py +1523 -0
  14. finance_dev/chart.py +1881 -0
  15. finance_dev/company.py +1105 -0
  16. finance_dev/corporateactions.py +1795 -0
  17. finance_dev/economy.py +1153 -0
  18. finance_dev/errors/__init__.py +94 -0
  19. finance_dev/errors/apierror.py +41 -0
  20. finance_dev/errors/authenticationerrorenvelope.py +43 -0
  21. finance_dev/errors/badrequest.py +34 -0
  22. finance_dev/errors/errorenvelope.py +42 -0
  23. finance_dev/errors/errorresponse.py +45 -0
  24. finance_dev/errors/financedevapierror.py +31 -0
  25. finance_dev/errors/forbidden.py +34 -0
  26. finance_dev/errors/internalservererror.py +35 -0
  27. finance_dev/errors/no_response_error.py +18 -0
  28. finance_dev/errors/notfound.py +34 -0
  29. finance_dev/errors/orderhistorybadrequest.py +35 -0
  30. finance_dev/errors/predorderserrorenvelope.py +42 -0
  31. finance_dev/errors/responsevalidationerror.py +28 -0
  32. finance_dev/errors/unauthorized.py +34 -0
  33. finance_dev/estimates.py +1906 -0
  34. finance_dev/etf.py +1108 -0
  35. finance_dev/filings.py +586 -0
  36. finance_dev/financials.py +4079 -0
  37. finance_dev/history.py +477 -0
  38. finance_dev/httpclient.py +126 -0
  39. finance_dev/indices.py +2308 -0
  40. finance_dev/logos.py +692 -0
  41. finance_dev/market.py +1825 -0
  42. finance_dev/markets.py +952 -0
  43. finance_dev/models/__init__.py +4568 -0
  44. finance_dev/models/accountbalancev2.py +340 -0
  45. finance_dev/models/accountitem.py +78 -0
  46. finance_dev/models/accountposition.py +147 -0
  47. finance_dev/models/aggregatetechnicalindicatorsresponse.py +192 -0
  48. finance_dev/models/analystinsightitem.py +161 -0
  49. finance_dev/models/analystinsightsresponse.py +39 -0
  50. finance_dev/models/apperror.py +123 -0
  51. finance_dev/models/authenticationerrordetail.py +58 -0
  52. finance_dev/models/bankbranchesresponse.py +96 -0
  53. finance_dev/models/basicfinancials.py +243 -0
  54. finance_dev/models/bullbearanalysisresponse.py +150 -0
  55. finance_dev/models/cancelorderop.py +40 -0
  56. finance_dev/models/cancelordrequest_union.py +287 -0
  57. finance_dev/models/cancelordresponse.py +115 -0
  58. finance_dev/models/cashflowstatement.py +290 -0
  59. finance_dev/models/cashflowstatementsresponse.py +61 -0
  60. finance_dev/models/chartbars.py +111 -0
  61. finance_dev/models/chartconfig.py +81 -0
  62. finance_dev/models/chartresolution.py +46 -0
  63. finance_dev/models/companyesgresponse.py +408 -0
  64. finance_dev/models/companyexecutive.py +70 -0
  65. finance_dev/models/companyexecutiveresponse.py +39 -0
  66. finance_dev/models/companypeersresponse.py +38 -0
  67. finance_dev/models/companypresentationresponse.py +96 -0
  68. finance_dev/models/companyprofile.py +255 -0
  69. finance_dev/models/conferencecallsresponse.py +169 -0
  70. finance_dev/models/congressionaltradingresponse.py +138 -0
  71. finance_dev/models/covid19uscasesresponse.py +79 -0
  72. finance_dev/models/createconfigwatchlistop.py +40 -0
  73. finance_dev/models/createwatchlistrequest.py +43 -0
  74. finance_dev/models/dailymarketsummaryresponse.py +73 -0
  75. finance_dev/models/deleteconfigwatchlistbyidop.py +53 -0
  76. finance_dev/models/dividenditem.py +125 -0
  77. finance_dev/models/dividendsresponse.py +61 -0
  78. finance_dev/models/earningrelease.py +291 -0
  79. finance_dev/models/earningscallliveresponse.py +103 -0
  80. finance_dev/models/earningsqualityscoreresponse.py +140 -0
  81. finance_dev/models/earningssurprisesresponse.py +125 -0
  82. finance_dev/models/ebitdaestimatesresponse.py +176 -0
  83. finance_dev/models/ebitestimatesresponse.py +176 -0
  84. finance_dev/models/economicscalendarevent.py +160 -0
  85. finance_dev/models/economicsindicator.py +87 -0
  86. finance_dev/models/epsestimatesresponse.py +176 -0
  87. finance_dev/models/equitydetailsdto.py +569 -0
  88. finance_dev/models/errorcode.py +48 -0
  89. finance_dev/models/etblistresponse.py +43 -0
  90. finance_dev/models/etbsearchrequest.py +21 -0
  91. finance_dev/models/etbsearchresponse.py +43 -0
  92. finance_dev/models/etfcountryallocationresponse.py +113 -0
  93. finance_dev/models/etfholdingsresponse.py +163 -0
  94. finance_dev/models/etfprofileresponse.py +234 -0
  95. finance_dev/models/etfsectorallocationresponse.py +113 -0
  96. finance_dev/models/exchangecode.py +90 -0
  97. finance_dev/models/fdaadvisorycommitteecalendarresponse.py +88 -0
  98. finance_dev/models/filingsimilarityrecord.py +115 -0
  99. finance_dev/models/filingssimilarityindexdatawrapper.py +52 -0
  100. finance_dev/models/filingssimilarityindexresponse.py +42 -0
  101. finance_dev/models/financialratiosresponse.py +252 -0
  102. finance_dev/models/financialsreporteddatawrapper.py +49 -0
  103. finance_dev/models/financialsreportedresponse.py +42 -0
  104. finance_dev/models/financialsrevenuebreakdowndatawrapper.py +49 -0
  105. finance_dev/models/financialsrevenuebreakdownresponse.py +42 -0
  106. finance_dev/models/financialsstatementsdatawrapper.py +44 -0
  107. finance_dev/models/financialsstatementsresponse.py +42 -0
  108. finance_dev/models/financialstatement.py +171 -0
  109. finance_dev/models/financialstatementtype.py +14 -0
  110. finance_dev/models/getaccountbalanceop.py +53 -0
  111. finance_dev/models/getaccountpositionsop.py +53 -0
  112. finance_dev/models/getaccountsresponse.py +22 -0
  113. finance_dev/models/getaggregatetechnicalindicatorsop.py +94 -0
  114. finance_dev/models/getanalystinsightsop.py +164 -0
  115. finance_dev/models/getbankbranchesop.py +53 -0
  116. finance_dev/models/getbaseeventop.py +87 -0
  117. finance_dev/models/getbullbearanalysisop.py +91 -0
  118. finance_dev/models/getcashflowstatementsop.py +564 -0
  119. finance_dev/models/getchartconfigop.py +40 -0
  120. finance_dev/models/getcharthistoryop.py +122 -0
  121. finance_dev/models/getcharttimeop.py +39 -0
  122. finance_dev/models/getcompanyesgop.py +53 -0
  123. finance_dev/models/getcompanyexecutivesop.py +56 -0
  124. finance_dev/models/getcompanymetricsop.py +68 -0
  125. finance_dev/models/getcompanypeersop.py +53 -0
  126. finance_dev/models/getcompanypresentationop.py +56 -0
  127. finance_dev/models/getcompanyprofileop.py +86 -0
  128. finance_dev/models/getconferencecallsop.py +111 -0
  129. finance_dev/models/getconfigwatchlistbyidop.py +53 -0
  130. finance_dev/models/getconfigwatchlistsop.py +40 -0
  131. finance_dev/models/getcongressionaltradingop.py +73 -0
  132. finance_dev/models/getcovid19uscasesop.py +43 -0
  133. finance_dev/models/getdailymarketsummaryop.py +92 -0
  134. finance_dev/models/getdividendsop.py +294 -0
  135. finance_dev/models/getearningscalendarop.py +87 -0
  136. finance_dev/models/getearningscallliveop.py +91 -0
  137. finance_dev/models/getearningsqualityscoreop.py +81 -0
  138. finance_dev/models/getearningssurprisesop.py +80 -0
  139. finance_dev/models/getebitdaestimatesop.py +91 -0
  140. finance_dev/models/getebitestimatesop.py +88 -0
  141. finance_dev/models/geteconomicscalendarop.py +92 -0
  142. finance_dev/models/geteconomicscalendarresponse.py +56 -0
  143. finance_dev/models/getepsestimatesop.py +88 -0
  144. finance_dev/models/getequitydetailsop.py +56 -0
  145. finance_dev/models/getequitydetailsresponse.py +45 -0
  146. finance_dev/models/getetblistop.py +40 -0
  147. finance_dev/models/getetfcountryallocationop.py +80 -0
  148. finance_dev/models/getetfholdingsop.py +96 -0
  149. finance_dev/models/getetfprofileop.py +77 -0
  150. finance_dev/models/getetfsectorallocationop.py +80 -0
  151. finance_dev/models/geteventcontractsop.py +87 -0
  152. finance_dev/models/getfdaadvisorycommitteecalendarop.py +47 -0
  153. finance_dev/models/getfilingssimilarityindexop.py +102 -0
  154. finance_dev/models/getfinancialratiosop.py +612 -0
  155. finance_dev/models/getfinancialstatementsop.py +117 -0
  156. finance_dev/models/getfundownershipop.py +77 -0
  157. finance_dev/models/gethistoricaldataop.py +61 -0
  158. finance_dev/models/gethistoricalesgop.py +53 -0
  159. finance_dev/models/gethistorybatchop.py +74 -0
  160. finance_dev/models/gethistoryop.py +123 -0
  161. finance_dev/models/getincomestatementsop.py +564 -0
  162. finance_dev/models/getindexbarop.py +140 -0
  163. finance_dev/models/getindexbarsop.py +149 -0
  164. finance_dev/models/getindexchartbarsop.py +178 -0
  165. finance_dev/models/getindexrealtimevaluesop.py +94 -0
  166. finance_dev/models/getinflationexpectationsop.py +157 -0
  167. finance_dev/models/getinflationop.py +154 -0
  168. finance_dev/models/getinsidertransactionsop.py +90 -0
  169. finance_dev/models/getinstitutionalownershipop.py +99 -0
  170. finance_dev/models/getinstitutionalportfolioop.py +75 -0
  171. finance_dev/models/getinvestmentthemeop.py +68 -0
  172. finance_dev/models/getipocalendarop.py +63 -0
  173. finance_dev/models/getlobbyingop.py +70 -0
  174. finance_dev/models/getmarketbreadthop.py +40 -0
  175. finance_dev/models/getmarketholidaysop.py +65 -0
  176. finance_dev/models/getmarketstatusop.py +65 -0
  177. finance_dev/models/getmergersandacquisitionsop.py +113 -0
  178. finance_dev/models/getnetinflowop.py +40 -0
  179. finance_dev/models/getnewsbyidop.py +73 -0
  180. finance_dev/models/getnewsop.py +98 -0
  181. finance_dev/models/getnewssentimentop.py +53 -0
  182. finance_dev/models/getoptionchainsnapshotop.py +244 -0
  183. finance_dev/models/getoptioncontractsnapshotop.py +69 -0
  184. finance_dev/models/getoptiondetailsop.py +56 -0
  185. finance_dev/models/getoptiondetailsresponse.py +45 -0
  186. finance_dev/models/getoptionlasttradeop.py +56 -0
  187. finance_dev/models/getoptionopencloseop.py +66 -0
  188. finance_dev/models/getoptionpreviousdayop.py +56 -0
  189. finance_dev/models/getoptionquotesop.py +177 -0
  190. finance_dev/models/getoptionsactivityop.py +111 -0
  191. finance_dev/models/getoptionsetfstopvolumeop.py +70 -0
  192. finance_dev/models/getoptionsstockstopgainersop.py +70 -0
  193. finance_dev/models/getoptionsstockstopvolumeop.py +70 -0
  194. finance_dev/models/getoptionsunusualactivityop.py +100 -0
  195. finance_dev/models/getoptiontradesop.py +177 -0
  196. finance_dev/models/getordersv2response.py +66 -0
  197. finance_dev/models/getownershipdataop.py +77 -0
  198. finance_dev/models/getpositionsresponse.py +39 -0
  199. finance_dev/models/getpredictionorderop.py +88 -0
  200. finance_dev/models/getpricetargetop.py +53 -0
  201. finance_dev/models/getquotesop.py +53 -0
  202. finance_dev/models/getratingsop.py +164 -0
  203. finance_dev/models/getratingsresponse.py +39 -0
  204. finance_dev/models/getreportedfinancialsop.py +127 -0
  205. finance_dev/models/getrevenuebreakdownop.py +85 -0
  206. finance_dev/models/getrevenueestimatesop.py +91 -0
  207. finance_dev/models/getsecfilingsop.py +113 -0
  208. finance_dev/models/getsectortickersop.py +124 -0
  209. finance_dev/models/getsectorwisechangeop.py +84 -0
  210. finance_dev/models/getshortinterestop.py +334 -0
  211. finance_dev/models/getshortvolumeop.py +333 -0
  212. finance_dev/models/getsocialsentimentop.py +90 -0
  213. finance_dev/models/getspinoffsop.py +112 -0
  214. finance_dev/models/getstockaggregatesop.py +174 -0
  215. finance_dev/models/getstocklastquoteop.py +56 -0
  216. finance_dev/models/getstocklasttradeop.py +56 -0
  217. finance_dev/models/getstockopencloseop.py +90 -0
  218. finance_dev/models/getstockpreviousdayop.py +80 -0
  219. finance_dev/models/getstockquotesop.py +177 -0
  220. finance_dev/models/getstocksnapshotsop.py +82 -0
  221. finance_dev/models/getstocksplitsop.py +243 -0
  222. finance_dev/models/getstocktradesop.py +177 -0
  223. finance_dev/models/getsupplychainop.py +53 -0
  224. finance_dev/models/getsupportresistancelevelsop.py +90 -0
  225. finance_dev/models/getsymbolinfoop.py +53 -0
  226. finance_dev/models/gettechnicalindicatorop.py +172 -0
  227. finance_dev/models/gettechnicalpatternsop.py +88 -0
  228. finance_dev/models/gettenderoffersop.py +112 -0
  229. finance_dev/models/gettickhistoryop.py +104 -0
  230. finance_dev/models/gettopgainersop.py +78 -0
  231. finance_dev/models/gettoplosersop.py +78 -0
  232. finance_dev/models/gettopmostactiveop.py +78 -0
  233. finance_dev/models/gettranscriptop.py +53 -0
  234. finance_dev/models/gettreasuryyieldsop.py +157 -0
  235. finance_dev/models/getunifiedsnapshotop.py +223 -0
  236. finance_dev/models/getupgradesdowngradesop.py +91 -0
  237. finance_dev/models/getusaspendingop.py +70 -0
  238. finance_dev/models/getuseraccountsop.py +40 -0
  239. finance_dev/models/getusptopatentsop.py +70 -0
  240. finance_dev/models/getvisaapplicationsop.py +73 -0
  241. finance_dev/models/historicalesgresponse.py +439 -0
  242. finance_dev/models/httpmetadata.py +24 -0
  243. finance_dev/models/incomestatement.py +296 -0
  244. finance_dev/models/incomestatementsresponse.py +61 -0
  245. finance_dev/models/indexbarresponse.py +194 -0
  246. finance_dev/models/indexbarsresponse.py +123 -0
  247. finance_dev/models/indexchartbarsresponse.py +213 -0
  248. finance_dev/models/indexgroupsresponse.py +78 -0
  249. finance_dev/models/indexlistresponse.py +95 -0
  250. finance_dev/models/indexsearchresponse.py +93 -0
  251. finance_dev/models/indicesbygroupresponse.py +93 -0
  252. finance_dev/models/indicesidentifiertype.py +28 -0
  253. finance_dev/models/indicesrealtimeindexinfo.py +67 -0
  254. finance_dev/models/indicesrealtimeindexvalue.py +157 -0
  255. finance_dev/models/indicesrealtimevaluesitem.py +80 -0
  256. finance_dev/models/indicesrealtimevaluesresponse.py +42 -0
  257. finance_dev/models/inflationexpectationsresponse.py +140 -0
  258. finance_dev/models/inflationresponse.py +132 -0
  259. finance_dev/models/insidertransaction.py +97 -0
  260. finance_dev/models/insidertransactionsresponse.py +39 -0
  261. finance_dev/models/institutionalholding.py +77 -0
  262. finance_dev/models/institutionalownershipresponse.py +39 -0
  263. finance_dev/models/institutionalportfolioresponse.py +39 -0
  264. finance_dev/models/investmentthemeid.py +35 -0
  265. finance_dev/models/investmentthemeresponse.py +80 -0
  266. finance_dev/models/ipocalendarresponse.py +39 -0
  267. finance_dev/models/ipoitem.py +93 -0
  268. finance_dev/models/listactiveordersop.py +87 -0
  269. finance_dev/models/listcategoriesop.py +79 -0
  270. finance_dev/models/listindexgroupsop.py +40 -0
  271. finance_dev/models/listindicesbygroupop.py +58 -0
  272. finance_dev/models/listindicesop.py +91 -0
  273. finance_dev/models/listoptioncontractsop.py +66 -0
  274. finance_dev/models/listoptionexpirydatesop.py +56 -0
  275. finance_dev/models/listorderhistoryop.py +139 -0
  276. finance_dev/models/listpredictionordersop.py +134 -0
  277. finance_dev/models/listtranscriptsop.py +53 -0
  278. finance_dev/models/lobbyingresponse.py +166 -0
  279. finance_dev/models/logosearchresponse.py +152 -0
  280. finance_dev/models/logosyncresponse.py +277 -0
  281. finance_dev/models/marketbreadth.py +97 -0
  282. finance_dev/models/marketbreadthresponse.py +44 -0
  283. finance_dev/models/marketholiday.py +56 -0
  284. finance_dev/models/marketholidayresponse.py +39 -0
  285. finance_dev/models/marketstatus.py +67 -0
  286. finance_dev/models/mergersandacquisitionsresponse.py +186 -0
  287. finance_dev/models/metricseriespoint.py +43 -0
  288. finance_dev/models/netinflow.py +81 -0
  289. finance_dev/models/netinflowresponse.py +44 -0
  290. finance_dev/models/newsitem.py +102 -0
  291. finance_dev/models/newslistresponse.py +128 -0
  292. finance_dev/models/newssentimentresponse.py +176 -0
  293. finance_dev/models/newstypeenum.py +16 -0
  294. finance_dev/models/optionchainsnapshotresponse.py +64 -0
  295. finance_dev/models/optioncontractsnapshotresponse.py +64 -0
  296. finance_dev/models/optioncontractsnapshotrow.py +164 -0
  297. finance_dev/models/optioncontractsresponse.py +131 -0
  298. finance_dev/models/optiondetailsdto.py +72 -0
  299. finance_dev/models/optionexpirydatesresponse.py +53 -0
  300. finance_dev/models/optionlasttraderesponse.py +169 -0
  301. finance_dev/models/optionopencloseresponse.py +97 -0
  302. finance_dev/models/optionpreviousdayresponse.py +89 -0
  303. finance_dev/models/optionquotesresponse.py +138 -0
  304. finance_dev/models/optionsactivityresponse.py +265 -0
  305. finance_dev/models/optionsnapshotcontractdetails.py +85 -0
  306. finance_dev/models/optionsnapshotdaybar.py +107 -0
  307. finance_dev/models/optionsnapshotgreeks.py +67 -0
  308. finance_dev/models/optionsnapshotlastquote.py +116 -0
  309. finance_dev/models/optionsnapshotlasttrade.py +102 -0
  310. finance_dev/models/optionsnapshotunderlying.py +86 -0
  311. finance_dev/models/optionsscreeneritem.py +151 -0
  312. finance_dev/models/optionsunusualactivityresponse.py +62 -0
  313. finance_dev/models/optionsunusualactivitytrade.py +103 -0
  314. finance_dev/models/optiontradesresponse.py +132 -0
  315. finance_dev/models/orderrequesttimeinforceenum.py +29 -0
  316. finance_dev/models/ordersideenum.py +20 -0
  317. finance_dev/models/ordertypeenum.py +20 -0
  318. finance_dev/models/ordleg.py +162 -0
  319. finance_dev/models/ordresponse.py +202 -0
  320. finance_dev/models/ownershipdataresponse.py +39 -0
  321. finance_dev/models/ownershiprecord.py +74 -0
  322. finance_dev/models/placeorderop.py +40 -0
  323. finance_dev/models/placeordrequest_union.py +335 -0
  324. finance_dev/models/placepredictionorderop.py +114 -0
  325. finance_dev/models/predmdbaseevent.py +62 -0
  326. finance_dev/models/predmdbaseeventhit.py +53 -0
  327. finance_dev/models/predmdbaseeventsearchresult.py +46 -0
  328. finance_dev/models/predmdbaseeventwithevents.py +32 -0
  329. finance_dev/models/predmdbatchhistoryrequest.py +16 -0
  330. finance_dev/models/predmdbatchhistoryresponse.py +16 -0
  331. finance_dev/models/predmdcategory.py +48 -0
  332. finance_dev/models/predmdcontract.py +177 -0
  333. finance_dev/models/predmdcontracthit.py +157 -0
  334. finance_dev/models/predmdcontractsearchresult.py +46 -0
  335. finance_dev/models/predmdevent.py +136 -0
  336. finance_dev/models/predmdeventhit.py +73 -0
  337. finance_dev/models/predmdeventsearchresult.py +46 -0
  338. finance_dev/models/predmdeventwithcontracts.py +22 -0
  339. finance_dev/models/predmdhistoryrequest.py +59 -0
  340. finance_dev/models/predmdhistoryresponse.py +53 -0
  341. finance_dev/models/predmdtick.py +53 -0
  342. finance_dev/models/predordersapperror.py +78 -0
  343. finance_dev/models/predordersorder.py +267 -0
  344. finance_dev/models/predordersorderdetail.py +26 -0
  345. finance_dev/models/predordersorderpage.py +45 -0
  346. finance_dev/models/predordersorderreport.py +88 -0
  347. finance_dev/models/predordersplaceorderrequest.py +159 -0
  348. finance_dev/models/previeworderop.py +40 -0
  349. finance_dev/models/previeworderresponse.py +127 -0
  350. finance_dev/models/pricetargetresponse.py +89 -0
  351. finance_dev/models/quotedata.py +49 -0
  352. finance_dev/models/quotesresponse.py +62 -0
  353. finance_dev/models/quotevalues.py +114 -0
  354. finance_dev/models/rating.py +193 -0
  355. finance_dev/models/ratingsaccuracy.py +242 -0
  356. finance_dev/models/replaceconfigwatchlistsop.py +40 -0
  357. finance_dev/models/replaceorderop.py +40 -0
  358. finance_dev/models/replaceordrequest_union.py +367 -0
  359. finance_dev/models/replaceordresponse.py +144 -0
  360. finance_dev/models/reportedbsitem.py +53 -0
  361. finance_dev/models/reportedfiling.py +110 -0
  362. finance_dev/models/reportedreport.py +39 -0
  363. finance_dev/models/reportingfrequency.py +16 -0
  364. finance_dev/models/revenuebreakdownaxis.py +52 -0
  365. finance_dev/models/revenuebreakdowndatapoint.py +58 -0
  366. finance_dev/models/revenuebreakdownentry.py +51 -0
  367. finance_dev/models/revenuebreakdowninner.py +75 -0
  368. finance_dev/models/revenueestimatesresponse.py +176 -0
  369. finance_dev/models/screenclause.py +70 -0
  370. finance_dev/models/screengroup.py +75 -0
  371. finance_dev/models/searchetbsymbolsop.py +40 -0
  372. finance_dev/models/searchindicesop.py +55 -0
  373. finance_dev/models/searchlogosop.py +158 -0
  374. finance_dev/models/searchmarketsymbolsop.py +80 -0
  375. finance_dev/models/searchop.py +232 -0
  376. finance_dev/models/searchsymbolitem.py +76 -0
  377. finance_dev/models/searchsymbolresponseitem.py +71 -0
  378. finance_dev/models/searchsymbolsop.py +77 -0
  379. finance_dev/models/secfiling.py +91 -0
  380. finance_dev/models/secfilingsresponse.py +39 -0
  381. finance_dev/models/sectoravgchange.py +50 -0
  382. finance_dev/models/security.py +59 -0
  383. finance_dev/models/securitytypeenum.py +16 -0
  384. finance_dev/models/shortinterestresponse.py +126 -0
  385. finance_dev/models/shortvolumeresponse.py +198 -0
  386. finance_dev/models/socialsentimentresponse.py +124 -0
  387. finance_dev/models/sortorderenum.py +13 -0
  388. finance_dev/models/spinoffsresponse.py +136 -0
  389. finance_dev/models/stockaggregatesresponse.py +92 -0
  390. finance_dev/models/stocklastquoteresponse.py +175 -0
  391. finance_dev/models/stocklasttraderesponse.py +169 -0
  392. finance_dev/models/stockohlcbar.py +85 -0
  393. finance_dev/models/stockopencloseresponse.py +109 -0
  394. finance_dev/models/stockpreviousdayresponse.py +86 -0
  395. finance_dev/models/stockquotesresponse.py +170 -0
  396. finance_dev/models/stockscreenerop.py +144 -0
  397. finance_dev/models/stockscreenerrequest.py +131 -0
  398. finance_dev/models/stockscreenerresponse.py +197 -0
  399. finance_dev/models/stocksnapshotsresponse.py +454 -0
  400. finance_dev/models/stocksplitsresponse.py +144 -0
  401. finance_dev/models/stocktradesresponse.py +164 -0
  402. finance_dev/models/supplychainresponse.py +158 -0
  403. finance_dev/models/supportresistancelevelsresponse.py +68 -0
  404. finance_dev/models/symboldetails.py +119 -0
  405. finance_dev/models/symbolerror.py +43 -0
  406. finance_dev/models/symbolinfo.py +183 -0
  407. finance_dev/models/synclogosop.py +146 -0
  408. finance_dev/models/technicalindicatorresponse.py +43 -0
  409. finance_dev/models/technicalindicatortype.py +21 -0
  410. finance_dev/models/technicalpatternsresponse.py +249 -0
  411. finance_dev/models/tenderofferidentifiertype.py +26 -0
  412. finance_dev/models/tenderoffersresponse.py +548 -0
  413. finance_dev/models/tickchartbars.py +104 -0
  414. finance_dev/models/tickresolution.py +20 -0
  415. finance_dev/models/timeinforceenum.py +26 -0
  416. finance_dev/models/tradeorderlegv2.py +164 -0
  417. finance_dev/models/tradeorderv2.py +434 -0
  418. finance_dev/models/transcriptresponse.py +162 -0
  419. finance_dev/models/transcriptsresponse.py +89 -0
  420. finance_dev/models/treasuryyieldsresponse.py +160 -0
  421. finance_dev/models/unifiedsnapshotresponse.py +308 -0
  422. finance_dev/models/updateconfigwatchlistbyidop.py +65 -0
  423. finance_dev/models/updatewatchlistrequest_union.py +134 -0
  424. finance_dev/models/upgradesdowngradesresponse.py +98 -0
  425. finance_dev/models/usaspendingresponse.py +222 -0
  426. finance_dev/models/usptopatentsresponse.py +134 -0
  427. finance_dev/models/visaapplicationsresponse.py +228 -0
  428. finance_dev/models/watchlist.py +68 -0
  429. finance_dev/models/watchlistrequest.py +43 -0
  430. finance_dev/models/watchlistresponse.py +44 -0
  431. finance_dev/news_sdk.py +829 -0
  432. finance_dev/options.py +3443 -0
  433. finance_dev/orders.py +1907 -0
  434. finance_dev/ownership.py +1386 -0
  435. finance_dev/predictions.py +29 -0
  436. finance_dev/predictions_orders.py +852 -0
  437. finance_dev/py.typed +1 -0
  438. finance_dev/sdk.py +347 -0
  439. finance_dev/sdkconfiguration.py +50 -0
  440. finance_dev/signals.py +338 -0
  441. finance_dev/stocks.py +3131 -0
  442. finance_dev/technicalanalysis_sdk.py +1137 -0
  443. finance_dev/types/__init__.py +25 -0
  444. finance_dev/types/base64fileinput.py +44 -0
  445. finance_dev/types/basemodel.py +78 -0
  446. finance_dev/utils/__init__.py +181 -0
  447. finance_dev/utils/annotations.py +80 -0
  448. finance_dev/utils/datetimes.py +42 -0
  449. finance_dev/utils/dynamic_imports.py +55 -0
  450. finance_dev/utils/enums.py +135 -0
  451. finance_dev/utils/eventstreaming.py +327 -0
  452. finance_dev/utils/forms.py +240 -0
  453. finance_dev/utils/headers.py +137 -0
  454. finance_dev/utils/logger.py +23 -0
  455. finance_dev/utils/metadata.py +120 -0
  456. finance_dev/utils/queryparams.py +218 -0
  457. finance_dev/utils/requestbodies.py +68 -0
  458. finance_dev/utils/retries.py +373 -0
  459. finance_dev/utils/security.py +199 -0
  460. finance_dev/utils/serializers.py +327 -0
  461. finance_dev/utils/unmarshal_json_response.py +39 -0
  462. finance_dev/utils/url.py +155 -0
  463. finance_dev/utils/values.py +143 -0
  464. finance_dev/watchlist_sdk.py +1583 -0
  465. finance_dev/websocket/__init__.py +57 -0
  466. finance_dev/websocket/account.py +5 -0
  467. finance_dev/websocket/auth.py +124 -0
  468. finance_dev/websocket/chart.py +5 -0
  469. finance_dev/websocket/codec.py +66 -0
  470. finance_dev/websocket/config.py +52 -0
  471. finance_dev/websocket/errors.py +54 -0
  472. finance_dev/websocket/market.py +5 -0
  473. finance_dev/websocket/models/__init__.py +52 -0
  474. finance_dev/websocket/models/account.py +60 -0
  475. finance_dev/websocket/models/chart.py +44 -0
  476. finance_dev/websocket/models/common.py +85 -0
  477. finance_dev/websocket/models/market.py +113 -0
  478. finance_dev/websocket/resources.py +327 -0
  479. finance_dev/websocket/sdk.py +13 -0
  480. finance_dev/websocket/transport/async_connection.py +493 -0
  481. finance_dev/websocket/transport/base.py +78 -0
  482. finance_dev/websocket/transport/sync_connection.py +470 -0
  483. finance_dev-0.9.0.dist-info/METADATA +913 -0
  484. finance_dev-0.9.0.dist-info/RECORD +486 -0
  485. finance_dev-0.9.0.dist-info/WHEEL +5 -0
  486. finance_dev-0.9.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,213 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 873220b4dc51
3
+
4
+ from __future__ import annotations
5
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
6
+ import pydantic
7
+ from pydantic import model_serializer
8
+ from typing import List, Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class ChartBarTypedDict(TypedDict):
13
+ adjustment_ratio: NotRequired[int]
14
+ r"""Price adjustment ratio for corporate actions"""
15
+ close: NotRequired[float]
16
+ r"""Closing index value for the bar period"""
17
+ currency: NotRequired[str]
18
+ r"""Currency of the bar data"""
19
+ end_date: NotRequired[str]
20
+ r"""Bar end date in MM/DD/YYYY format"""
21
+ end_time: NotRequired[str]
22
+ r"""Bar end time in HH:MM:SS AM/PM format"""
23
+ high: NotRequired[float]
24
+ r"""Highest index value during the bar period"""
25
+ low: NotRequired[float]
26
+ r"""Lowest index value during the bar period"""
27
+ open: NotRequired[float]
28
+ r"""Opening index value for the bar period"""
29
+ session: NotRequired[str]
30
+ r"""Trading session type (Market, PreMarket, PostMarket)"""
31
+ start_date: NotRequired[str]
32
+ r"""Bar start date in MM/DD/YYYY format"""
33
+ start_time: NotRequired[str]
34
+ r"""Bar start time in HH:MM:SS AM/PM format"""
35
+ trades: NotRequired[int]
36
+ r"""Number of trades during the bar period"""
37
+ twap: NotRequired[float]
38
+ r"""Time-Weighted Average Price for the bar period"""
39
+ utc_offset: NotRequired[int]
40
+ r"""UTC time offset in hours"""
41
+ volume: NotRequired[int]
42
+ r"""Trading volume during the bar period"""
43
+ vwap: NotRequired[float]
44
+ r"""Volume-Weighted Average Price for the bar period"""
45
+
46
+
47
+ class ChartBar(BaseModel):
48
+ adjustment_ratio: Annotated[
49
+ Optional[int], pydantic.Field(alias="adjustmentRatio")
50
+ ] = None
51
+ r"""Price adjustment ratio for corporate actions"""
52
+
53
+ close: Optional[float] = None
54
+ r"""Closing index value for the bar period"""
55
+
56
+ currency: Optional[str] = None
57
+ r"""Currency of the bar data"""
58
+
59
+ end_date: Annotated[Optional[str], pydantic.Field(alias="endDate")] = None
60
+ r"""Bar end date in MM/DD/YYYY format"""
61
+
62
+ end_time: Annotated[Optional[str], pydantic.Field(alias="endTime")] = None
63
+ r"""Bar end time in HH:MM:SS AM/PM format"""
64
+
65
+ high: Optional[float] = None
66
+ r"""Highest index value during the bar period"""
67
+
68
+ low: Optional[float] = None
69
+ r"""Lowest index value during the bar period"""
70
+
71
+ open: Optional[float] = None
72
+ r"""Opening index value for the bar period"""
73
+
74
+ session: Optional[str] = None
75
+ r"""Trading session type (Market, PreMarket, PostMarket)"""
76
+
77
+ start_date: Annotated[Optional[str], pydantic.Field(alias="startDate")] = None
78
+ r"""Bar start date in MM/DD/YYYY format"""
79
+
80
+ start_time: Annotated[Optional[str], pydantic.Field(alias="startTime")] = None
81
+ r"""Bar start time in HH:MM:SS AM/PM format"""
82
+
83
+ trades: Optional[int] = None
84
+ r"""Number of trades during the bar period"""
85
+
86
+ twap: Optional[float] = None
87
+ r"""Time-Weighted Average Price for the bar period"""
88
+
89
+ utc_offset: Annotated[Optional[int], pydantic.Field(alias="utcOffset")] = None
90
+ r"""UTC time offset in hours"""
91
+
92
+ volume: Optional[int] = None
93
+ r"""Trading volume during the bar period"""
94
+
95
+ vwap: Optional[float] = None
96
+ r"""Volume-Weighted Average Price for the bar period"""
97
+
98
+ @model_serializer(mode="wrap")
99
+ def serialize_model(self, handler):
100
+ optional_fields = set(
101
+ [
102
+ "adjustmentRatio",
103
+ "close",
104
+ "currency",
105
+ "endDate",
106
+ "endTime",
107
+ "high",
108
+ "low",
109
+ "open",
110
+ "session",
111
+ "startDate",
112
+ "startTime",
113
+ "trades",
114
+ "twap",
115
+ "utcOffset",
116
+ "volume",
117
+ "vwap",
118
+ ]
119
+ )
120
+ serialized = handler(self)
121
+ m = {}
122
+
123
+ for n, f in type(self).model_fields.items():
124
+ k = f.alias or n
125
+ val = serialized.get(k, serialized.get(n))
126
+
127
+ if val != UNSET_SENTINEL:
128
+ if val is not None or k not in optional_fields:
129
+ m[k] = val
130
+
131
+ return m
132
+
133
+
134
+ class IndexChartBarsResponseTypedDict(TypedDict):
135
+ r"""Response containing chart bars for an index along with the index metadata."""
136
+
137
+ chart_bars: NotRequired[List[ChartBarTypedDict]]
138
+ r"""Array of historical chart bars"""
139
+ currency: NotRequired[str]
140
+ r"""Currency in which the index is quoted"""
141
+ index_group: NotRequired[str]
142
+ r"""Index group classification"""
143
+ index_name: NotRequired[str]
144
+ r"""Full name of the index"""
145
+ symbol: NotRequired[str]
146
+ r"""Index ticker symbol"""
147
+ timing: NotRequired[str]
148
+ r"""Data timing type (RealTime or Delayed)"""
149
+ valoren: NotRequired[str]
150
+ r"""Swiss securities identification number (Valoren)"""
151
+
152
+
153
+ class IndexChartBarsResponse(BaseModel):
154
+ r"""Response containing chart bars for an index along with the index metadata."""
155
+
156
+ chart_bars: Annotated[
157
+ Optional[List[ChartBar]], pydantic.Field(alias="chartBars")
158
+ ] = None
159
+ r"""Array of historical chart bars"""
160
+
161
+ currency: Optional[str] = None
162
+ r"""Currency in which the index is quoted"""
163
+
164
+ index_group: Annotated[Optional[str], pydantic.Field(alias="indexGroup")] = None
165
+ r"""Index group classification"""
166
+
167
+ index_name: Annotated[Optional[str], pydantic.Field(alias="indexName")] = None
168
+ r"""Full name of the index"""
169
+
170
+ symbol: Optional[str] = None
171
+ r"""Index ticker symbol"""
172
+
173
+ timing: Optional[str] = None
174
+ r"""Data timing type (RealTime or Delayed)"""
175
+
176
+ valoren: Optional[str] = None
177
+ r"""Swiss securities identification number (Valoren)"""
178
+
179
+ @model_serializer(mode="wrap")
180
+ def serialize_model(self, handler):
181
+ optional_fields = set(
182
+ [
183
+ "chartBars",
184
+ "currency",
185
+ "indexGroup",
186
+ "indexName",
187
+ "symbol",
188
+ "timing",
189
+ "valoren",
190
+ ]
191
+ )
192
+ serialized = handler(self)
193
+ m = {}
194
+
195
+ for n, f in type(self).model_fields.items():
196
+ k = f.alias or n
197
+ val = serialized.get(k, serialized.get(n))
198
+
199
+ if val != UNSET_SENTINEL:
200
+ if val is not None or k not in optional_fields:
201
+ m[k] = val
202
+
203
+ return m
204
+
205
+
206
+ try:
207
+ ChartBar.model_rebuild()
208
+ except NameError:
209
+ pass
210
+ try:
211
+ IndexChartBarsResponse.model_rebuild()
212
+ except NameError:
213
+ pass
@@ -0,0 +1,78 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 46a89814376d
3
+
4
+ from __future__ import annotations
5
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
6
+ import pydantic
7
+ from pydantic import model_serializer
8
+ from typing import List, Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class IndexGroupTypedDict(TypedDict):
13
+ description: NotRequired[str]
14
+ r"""Human-readable description of the index group"""
15
+ name: NotRequired[str]
16
+ r"""Unique identifier for the index group"""
17
+
18
+
19
+ class IndexGroup(BaseModel):
20
+ description: Optional[str] = None
21
+ r"""Human-readable description of the index group"""
22
+
23
+ name: Optional[str] = None
24
+ r"""Unique identifier for the index group"""
25
+
26
+ @model_serializer(mode="wrap")
27
+ def serialize_model(self, handler):
28
+ optional_fields = set(["description", "name"])
29
+ serialized = handler(self)
30
+ m = {}
31
+
32
+ for n, f in type(self).model_fields.items():
33
+ k = f.alias or n
34
+ val = serialized.get(k, serialized.get(n))
35
+
36
+ if val != UNSET_SENTINEL:
37
+ if val is not None or k not in optional_fields:
38
+ m[k] = val
39
+
40
+ return m
41
+
42
+
43
+ class IndexGroupsResponseTypedDict(TypedDict):
44
+ r"""Response containing the available index groups."""
45
+
46
+ index_groups: NotRequired[List[IndexGroupTypedDict]]
47
+ r"""Array of available index groups"""
48
+
49
+
50
+ class IndexGroupsResponse(BaseModel):
51
+ r"""Response containing the available index groups."""
52
+
53
+ index_groups: Annotated[
54
+ Optional[List[IndexGroup]], pydantic.Field(alias="indexGroups")
55
+ ] = None
56
+ r"""Array of available index groups"""
57
+
58
+ @model_serializer(mode="wrap")
59
+ def serialize_model(self, handler):
60
+ optional_fields = set(["indexGroups"])
61
+ serialized = handler(self)
62
+ m = {}
63
+
64
+ for n, f in type(self).model_fields.items():
65
+ k = f.alias or n
66
+ val = serialized.get(k, serialized.get(n))
67
+
68
+ if val != UNSET_SENTINEL:
69
+ if val is not None or k not in optional_fields:
70
+ m[k] = val
71
+
72
+ return m
73
+
74
+
75
+ try:
76
+ IndexGroupsResponse.model_rebuild()
77
+ except NameError:
78
+ pass
@@ -0,0 +1,95 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 4257ff262e13
3
+
4
+ from __future__ import annotations
5
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
6
+ import pydantic
7
+ from pydantic import model_serializer
8
+ from typing import List, Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class IndexListResponseIndexTypedDict(TypedDict):
13
+ currency: NotRequired[str]
14
+ r"""Currency of the index"""
15
+ index_group: NotRequired[str]
16
+ r"""Index group identifier"""
17
+ index_name: NotRequired[str]
18
+ r"""Index name"""
19
+ symbol: NotRequired[str]
20
+ r"""Index symbol identifier"""
21
+
22
+
23
+ class IndexListResponseIndex(BaseModel):
24
+ currency: Optional[str] = None
25
+ r"""Currency of the index"""
26
+
27
+ index_group: Annotated[Optional[str], pydantic.Field(alias="indexGroup")] = None
28
+ r"""Index group identifier"""
29
+
30
+ index_name: Annotated[Optional[str], pydantic.Field(alias="indexName")] = None
31
+ r"""Index name"""
32
+
33
+ symbol: Optional[str] = None
34
+ r"""Index symbol identifier"""
35
+
36
+ @model_serializer(mode="wrap")
37
+ def serialize_model(self, handler):
38
+ optional_fields = set(["currency", "indexGroup", "indexName", "symbol"])
39
+ serialized = handler(self)
40
+ m = {}
41
+
42
+ for n, f in type(self).model_fields.items():
43
+ k = f.alias or n
44
+ val = serialized.get(k, serialized.get(n))
45
+
46
+ if val != UNSET_SENTINEL:
47
+ if val is not None or k not in optional_fields:
48
+ m[k] = val
49
+
50
+ return m
51
+
52
+
53
+ class IndexListResponseTypedDict(TypedDict):
54
+ r"""Response containing the indices in an index group."""
55
+
56
+ indices: NotRequired[List[IndexListResponseIndexTypedDict]]
57
+ r"""Array of indices in the specified index group"""
58
+ next_page: NotRequired[str]
59
+ r"""Token for the next page. Send it as `nextPage` on the next request. Omitted on the last page."""
60
+
61
+
62
+ class IndexListResponse(BaseModel):
63
+ r"""Response containing the indices in an index group."""
64
+
65
+ indices: Optional[List[IndexListResponseIndex]] = None
66
+ r"""Array of indices in the specified index group"""
67
+
68
+ next_page: Annotated[Optional[str], pydantic.Field(alias="nextPage")] = None
69
+ r"""Token for the next page. Send it as `nextPage` on the next request. Omitted on the last page."""
70
+
71
+ @model_serializer(mode="wrap")
72
+ def serialize_model(self, handler):
73
+ optional_fields = set(["indices", "nextPage"])
74
+ serialized = handler(self)
75
+ m = {}
76
+
77
+ for n, f in type(self).model_fields.items():
78
+ k = f.alias or n
79
+ val = serialized.get(k, serialized.get(n))
80
+
81
+ if val != UNSET_SENTINEL:
82
+ if val is not None or k not in optional_fields:
83
+ m[k] = val
84
+
85
+ return m
86
+
87
+
88
+ try:
89
+ IndexListResponseIndex.model_rebuild()
90
+ except NameError:
91
+ pass
92
+ try:
93
+ IndexListResponse.model_rebuild()
94
+ except NameError:
95
+ pass
@@ -0,0 +1,93 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: da69c3c49c6a
3
+
4
+ from __future__ import annotations
5
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
6
+ import pydantic
7
+ from pydantic import model_serializer
8
+ from typing import List, Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class IndexSearchResponseIndexTypedDict(TypedDict):
13
+ currency: NotRequired[str]
14
+ r"""Currency in which the index is quoted"""
15
+ index_group: NotRequired[str]
16
+ r"""Index group classification identifier"""
17
+ index_name: NotRequired[str]
18
+ r"""Full name of the index"""
19
+ symbol: NotRequired[str]
20
+ r"""Index ticker symbol"""
21
+ valoren: NotRequired[str]
22
+ r"""Swiss securities identification number (Valoren)"""
23
+
24
+
25
+ class IndexSearchResponseIndex(BaseModel):
26
+ currency: Optional[str] = None
27
+ r"""Currency in which the index is quoted"""
28
+
29
+ index_group: Annotated[Optional[str], pydantic.Field(alias="indexGroup")] = None
30
+ r"""Index group classification identifier"""
31
+
32
+ index_name: Annotated[Optional[str], pydantic.Field(alias="indexName")] = None
33
+ r"""Full name of the index"""
34
+
35
+ symbol: Optional[str] = None
36
+ r"""Index ticker symbol"""
37
+
38
+ valoren: Optional[str] = None
39
+ r"""Swiss securities identification number (Valoren)"""
40
+
41
+ @model_serializer(mode="wrap")
42
+ def serialize_model(self, handler):
43
+ optional_fields = set(
44
+ ["currency", "indexGroup", "indexName", "symbol", "valoren"]
45
+ )
46
+ serialized = handler(self)
47
+ m = {}
48
+
49
+ for n, f in type(self).model_fields.items():
50
+ k = f.alias or n
51
+ val = serialized.get(k, serialized.get(n))
52
+
53
+ if val != UNSET_SENTINEL:
54
+ if val is not None or k not in optional_fields:
55
+ m[k] = val
56
+
57
+ return m
58
+
59
+
60
+ class IndexSearchResponseTypedDict(TypedDict):
61
+ r"""Response containing indices that match a search query."""
62
+
63
+ indices: NotRequired[List[IndexSearchResponseIndexTypedDict]]
64
+ r"""Array of matching indices"""
65
+
66
+
67
+ class IndexSearchResponse(BaseModel):
68
+ r"""Response containing indices that match a search query."""
69
+
70
+ indices: Optional[List[IndexSearchResponseIndex]] = None
71
+ r"""Array of matching indices"""
72
+
73
+ @model_serializer(mode="wrap")
74
+ def serialize_model(self, handler):
75
+ optional_fields = set(["indices"])
76
+ serialized = handler(self)
77
+ m = {}
78
+
79
+ for n, f in type(self).model_fields.items():
80
+ k = f.alias or n
81
+ val = serialized.get(k, serialized.get(n))
82
+
83
+ if val != UNSET_SENTINEL:
84
+ if val is not None or k not in optional_fields:
85
+ m[k] = val
86
+
87
+ return m
88
+
89
+
90
+ try:
91
+ IndexSearchResponseIndex.model_rebuild()
92
+ except NameError:
93
+ pass
@@ -0,0 +1,93 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 66113231b617
3
+
4
+ from __future__ import annotations
5
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
6
+ import pydantic
7
+ from pydantic import model_serializer
8
+ from typing import List, Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class IndicesByGroupResponseIndexTypedDict(TypedDict):
13
+ currency: NotRequired[str]
14
+ r"""Currency code"""
15
+ index_group: NotRequired[str]
16
+ r"""Index group identifier"""
17
+ index_name: NotRequired[str]
18
+ r"""Full name of the index"""
19
+ symbol: NotRequired[str]
20
+ r"""Index symbol"""
21
+ valoren: NotRequired[str]
22
+ r"""Swiss securities identification number (Valoren)"""
23
+
24
+
25
+ class IndicesByGroupResponseIndex(BaseModel):
26
+ currency: Optional[str] = None
27
+ r"""Currency code"""
28
+
29
+ index_group: Annotated[Optional[str], pydantic.Field(alias="indexGroup")] = None
30
+ r"""Index group identifier"""
31
+
32
+ index_name: Annotated[Optional[str], pydantic.Field(alias="indexName")] = None
33
+ r"""Full name of the index"""
34
+
35
+ symbol: Optional[str] = None
36
+ r"""Index symbol"""
37
+
38
+ valoren: Optional[str] = None
39
+ r"""Swiss securities identification number (Valoren)"""
40
+
41
+ @model_serializer(mode="wrap")
42
+ def serialize_model(self, handler):
43
+ optional_fields = set(
44
+ ["currency", "indexGroup", "indexName", "symbol", "valoren"]
45
+ )
46
+ serialized = handler(self)
47
+ m = {}
48
+
49
+ for n, f in type(self).model_fields.items():
50
+ k = f.alias or n
51
+ val = serialized.get(k, serialized.get(n))
52
+
53
+ if val != UNSET_SENTINEL:
54
+ if val is not None or k not in optional_fields:
55
+ m[k] = val
56
+
57
+ return m
58
+
59
+
60
+ class IndicesByGroupResponseTypedDict(TypedDict):
61
+ r"""Response containing the indices that belong to an index group."""
62
+
63
+ indices: NotRequired[List[IndicesByGroupResponseIndexTypedDict]]
64
+ r"""Array of indices in the index group"""
65
+
66
+
67
+ class IndicesByGroupResponse(BaseModel):
68
+ r"""Response containing the indices that belong to an index group."""
69
+
70
+ indices: Optional[List[IndicesByGroupResponseIndex]] = None
71
+ r"""Array of indices in the index group"""
72
+
73
+ @model_serializer(mode="wrap")
74
+ def serialize_model(self, handler):
75
+ optional_fields = set(["indices"])
76
+ serialized = handler(self)
77
+ m = {}
78
+
79
+ for n, f in type(self).model_fields.items():
80
+ k = f.alias or n
81
+ val = serialized.get(k, serialized.get(n))
82
+
83
+ if val != UNSET_SENTINEL:
84
+ if val is not None or k not in optional_fields:
85
+ m[k] = val
86
+
87
+ return m
88
+
89
+
90
+ try:
91
+ IndicesByGroupResponseIndex.model_rebuild()
92
+ except NameError:
93
+ pass
@@ -0,0 +1,28 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: fef5d94461b0
3
+
4
+ from __future__ import annotations
5
+ from enum import Enum
6
+ from finance_dev import utils
7
+
8
+
9
+ class IndicesIdentifierType(str, Enum, metaclass=utils.OpenEnumMeta):
10
+ r"""Which kind of identifier you are sending in `identifier` / `identifiers`. Provide the matching value:
11
+ - `Symbol` — index ticker (e.g. `SPX.IND_CBOM`). Default.
12
+ - `CIK` — SEC Central Index Key.
13
+ - `CUSIP` — 9-character U.S./Canadian security identifier.
14
+ - `ISIN` — 12-character international identifier.
15
+ - `Valoren` — Swiss security identifier.
16
+ - `SEDOL` — 7-character UK identifier.
17
+ - `FIGI` — Bloomberg Financial Instrument Global Identifier.
18
+ - `CompositeFIGI` — country-level composite FIGI.
19
+ """
20
+
21
+ SYMBOL = "Symbol"
22
+ CIK = "CIK"
23
+ CUSIP = "CUSIP"
24
+ ISIN = "ISIN"
25
+ VALOREN = "Valoren"
26
+ SEDOL = "SEDOL"
27
+ FIGI = "FIGI"
28
+ COMPOSITE_FIGI = "CompositeFIGI"
@@ -0,0 +1,67 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: c4173e34f6de
3
+
4
+ from __future__ import annotations
5
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
6
+ import pydantic
7
+ from pydantic import model_serializer
8
+ from typing import Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class IndicesRealtimeIndexInfoTypedDict(TypedDict):
13
+ r"""Index metadata for a realtime quote item."""
14
+
15
+ currency: NotRequired[str]
16
+ r"""Quote currency"""
17
+ index_group: NotRequired[str]
18
+ r"""Index group or venue code (e.g. IND_CBOM)"""
19
+ index_name: NotRequired[str]
20
+ r"""Display name of the index"""
21
+ symbol: NotRequired[str]
22
+ r"""Index symbol (e.g. SPX)"""
23
+ valoren: NotRequired[str]
24
+ r"""Valoren / internal identifier"""
25
+
26
+
27
+ class IndicesRealtimeIndexInfo(BaseModel):
28
+ r"""Index metadata for a realtime quote item."""
29
+
30
+ currency: Optional[str] = None
31
+ r"""Quote currency"""
32
+
33
+ index_group: Annotated[Optional[str], pydantic.Field(alias="indexGroup")] = None
34
+ r"""Index group or venue code (e.g. IND_CBOM)"""
35
+
36
+ index_name: Annotated[Optional[str], pydantic.Field(alias="indexName")] = None
37
+ r"""Display name of the index"""
38
+
39
+ symbol: Optional[str] = None
40
+ r"""Index symbol (e.g. SPX)"""
41
+
42
+ valoren: Optional[str] = None
43
+ r"""Valoren / internal identifier"""
44
+
45
+ @model_serializer(mode="wrap")
46
+ def serialize_model(self, handler):
47
+ optional_fields = set(
48
+ ["currency", "indexGroup", "indexName", "symbol", "valoren"]
49
+ )
50
+ serialized = handler(self)
51
+ m = {}
52
+
53
+ for n, f in type(self).model_fields.items():
54
+ k = f.alias or n
55
+ val = serialized.get(k, serialized.get(n))
56
+
57
+ if val != UNSET_SENTINEL:
58
+ if val is not None or k not in optional_fields:
59
+ m[k] = val
60
+
61
+ return m
62
+
63
+
64
+ try:
65
+ IndicesRealtimeIndexInfo.model_rebuild()
66
+ except NameError:
67
+ pass