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,90 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: b0dea2dc0cf6
3
+
4
+ from __future__ import annotations
5
+ from enum import Enum
6
+ from finance_dev import utils
7
+
8
+
9
+ class ExchangeCode(str, Enum, metaclass=utils.OpenEnumMeta):
10
+ r"""Two-to-three-letter exchange code identifying a global stock exchange (e.g. `US` = U.S. exchanges, `L` = London, `HK` = Hong Kong, `T` = Tokyo, `PA` = Paris). Used as the `exchange` query parameter for market-status and market-holiday endpoints. Other endpoints may return a different exchange-code format depending on the upstream data source."""
11
+
12
+ AD = "AD"
13
+ AS = "AS"
14
+ AT = "AT"
15
+ AX = "AX"
16
+ BA = "BA"
17
+ BC = "BC"
18
+ BD = "BD"
19
+ BE = "BE"
20
+ BH = "BH"
21
+ BK = "BK"
22
+ BO = "BO"
23
+ BR = "BR"
24
+ CA = "CA"
25
+ CN = "CN"
26
+ CO = "CO"
27
+ CR = "CR"
28
+ CS = "CS"
29
+ DB = "DB"
30
+ DE = "DE"
31
+ DU = "DU"
32
+ F = "F"
33
+ HA = "HA"
34
+ HE = "HE"
35
+ HK = "HK"
36
+ HM = "HM"
37
+ IC = "IC"
38
+ IR = "IR"
39
+ IS = "IS"
40
+ JK = "JK"
41
+ JO = "JO"
42
+ KL = "KL"
43
+ KQ = "KQ"
44
+ KS = "KS"
45
+ KW = "KW"
46
+ L = "L"
47
+ LS = "LS"
48
+ MC = "MC"
49
+ ME = "ME"
50
+ MI = "MI"
51
+ MT = "MT"
52
+ MU = "MU"
53
+ MX = "MX"
54
+ NE = "NE"
55
+ NL = "NL"
56
+ NS = "NS"
57
+ NZ = "NZ"
58
+ OL = "OL"
59
+ OM = "OM"
60
+ PA = "PA"
61
+ PK = "PK"
62
+ PM = "PM"
63
+ PR = "PR"
64
+ QA = "QA"
65
+ RG = "RG"
66
+ RO = "RO"
67
+ SA = "SA"
68
+ SC = "SC"
69
+ SG = "SG"
70
+ SI = "SI"
71
+ SN = "SN"
72
+ SR = "SR"
73
+ SS = "SS"
74
+ ST = "ST"
75
+ SW = "SW"
76
+ SX = "SX"
77
+ SZ = "SZ"
78
+ T = "T"
79
+ TA = "TA"
80
+ TG = "TG"
81
+ TL = "TL"
82
+ TO = "TO"
83
+ TW = "TW"
84
+ TWO = "TWO"
85
+ US = "US"
86
+ V = "V"
87
+ VI = "VI"
88
+ VN = "VN"
89
+ VS = "VS"
90
+ WA = "WA"
@@ -0,0 +1,88 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: eb838066ae7d
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 FdaAdvisoryCommitteeCalendarResponseDataTypedDict(TypedDict):
13
+ event_description: NotRequired[str]
14
+ r"""Description of the meeting."""
15
+ from_date: NotRequired[str]
16
+ r"""Start time of the event in EST, as returned by the provider."""
17
+ to_date: NotRequired[str]
18
+ r"""End time of the event in EST, as returned by the provider."""
19
+ url: NotRequired[str]
20
+ r"""URL with more details about the meeting."""
21
+
22
+
23
+ class FdaAdvisoryCommitteeCalendarResponseData(BaseModel):
24
+ event_description: Annotated[
25
+ Optional[str], pydantic.Field(alias="eventDescription")
26
+ ] = None
27
+ r"""Description of the meeting."""
28
+
29
+ from_date: Annotated[Optional[str], pydantic.Field(alias="fromDate")] = None
30
+ r"""Start time of the event in EST, as returned by the provider."""
31
+
32
+ to_date: Annotated[Optional[str], pydantic.Field(alias="toDate")] = None
33
+ r"""End time of the event in EST, as returned by the provider."""
34
+
35
+ url: Optional[str] = None
36
+ r"""URL with more details about the meeting."""
37
+
38
+ @model_serializer(mode="wrap")
39
+ def serialize_model(self, handler):
40
+ optional_fields = set(["eventDescription", "fromDate", "toDate", "url"])
41
+ serialized = handler(self)
42
+ m = {}
43
+
44
+ for n, f in type(self).model_fields.items():
45
+ k = f.alias or n
46
+ val = serialized.get(k, serialized.get(n))
47
+
48
+ if val != UNSET_SENTINEL:
49
+ if val is not None or k not in optional_fields:
50
+ m[k] = val
51
+
52
+ return m
53
+
54
+
55
+ class FdaAdvisoryCommitteeCalendarResponseTypedDict(TypedDict):
56
+ r"""Upcoming FDA advisory committee meetings, as provided by Finnhub."""
57
+
58
+ data: NotRequired[List[FdaAdvisoryCommitteeCalendarResponseDataTypedDict]]
59
+ r"""FDA advisory committee meeting events."""
60
+
61
+
62
+ class FdaAdvisoryCommitteeCalendarResponse(BaseModel):
63
+ r"""Upcoming FDA advisory committee meetings, as provided by Finnhub."""
64
+
65
+ data: Optional[List[FdaAdvisoryCommitteeCalendarResponseData]] = None
66
+ r"""FDA advisory committee meeting events."""
67
+
68
+ @model_serializer(mode="wrap")
69
+ def serialize_model(self, handler):
70
+ optional_fields = set(["data"])
71
+ serialized = handler(self)
72
+ m = {}
73
+
74
+ for n, f in type(self).model_fields.items():
75
+ k = f.alias or n
76
+ val = serialized.get(k, serialized.get(n))
77
+
78
+ if val != UNSET_SENTINEL:
79
+ if val is not None or k not in optional_fields:
80
+ m[k] = val
81
+
82
+ return m
83
+
84
+
85
+ try:
86
+ FdaAdvisoryCommitteeCalendarResponseData.model_rebuild()
87
+ except NameError:
88
+ pass
@@ -0,0 +1,115 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 2f831b52a128
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 FilingSimilarityRecordTypedDict(TypedDict):
13
+ r"""Cosine similarity scores between a filing and the prior comparable filing, by 10-K section."""
14
+
15
+ accepted_date: NotRequired[str]
16
+ r"""Date when the SEC accepted the filing"""
17
+ access_number: NotRequired[str]
18
+ r"""SEC accession number"""
19
+ cik: NotRequired[str]
20
+ r"""Central Index Key"""
21
+ filed_date: NotRequired[str]
22
+ r"""Date when filed with SEC"""
23
+ filing_url: NotRequired[str]
24
+ r"""URL to the complete filing"""
25
+ form: NotRequired[str]
26
+ r"""Type of SEC form"""
27
+ item1: NotRequired[float]
28
+ r"""Cosine similarity score for Item 1 (Business) section"""
29
+ item1a: NotRequired[float]
30
+ r"""Cosine similarity score for Item 1A (Risk Factors) section"""
31
+ item2: NotRequired[float]
32
+ r"""Cosine similarity score for Item 2 (Properties) section"""
33
+ item7: NotRequired[float]
34
+ r"""Cosine similarity score for Item 7 (MD&A) section"""
35
+ item7a: NotRequired[float]
36
+ r"""Cosine similarity score for Item 7A (Market Risk) section"""
37
+ report_url: NotRequired[str]
38
+ r"""URL to the formatted report"""
39
+
40
+
41
+ class FilingSimilarityRecord(BaseModel):
42
+ r"""Cosine similarity scores between a filing and the prior comparable filing, by 10-K section."""
43
+
44
+ accepted_date: Annotated[Optional[str], pydantic.Field(alias="acceptedDate")] = None
45
+ r"""Date when the SEC accepted the filing"""
46
+
47
+ access_number: Annotated[Optional[str], pydantic.Field(alias="accessNumber")] = None
48
+ r"""SEC accession number"""
49
+
50
+ cik: Optional[str] = None
51
+ r"""Central Index Key"""
52
+
53
+ filed_date: Annotated[Optional[str], pydantic.Field(alias="filedDate")] = None
54
+ r"""Date when filed with SEC"""
55
+
56
+ filing_url: Annotated[Optional[str], pydantic.Field(alias="filingUrl")] = None
57
+ r"""URL to the complete filing"""
58
+
59
+ form: Optional[str] = None
60
+ r"""Type of SEC form"""
61
+
62
+ item1: Optional[float] = None
63
+ r"""Cosine similarity score for Item 1 (Business) section"""
64
+
65
+ item1a: Optional[float] = None
66
+ r"""Cosine similarity score for Item 1A (Risk Factors) section"""
67
+
68
+ item2: Optional[float] = None
69
+ r"""Cosine similarity score for Item 2 (Properties) section"""
70
+
71
+ item7: Optional[float] = None
72
+ r"""Cosine similarity score for Item 7 (MD&A) section"""
73
+
74
+ item7a: Optional[float] = None
75
+ r"""Cosine similarity score for Item 7A (Market Risk) section"""
76
+
77
+ report_url: Annotated[Optional[str], pydantic.Field(alias="reportUrl")] = None
78
+ r"""URL to the formatted report"""
79
+
80
+ @model_serializer(mode="wrap")
81
+ def serialize_model(self, handler):
82
+ optional_fields = set(
83
+ [
84
+ "acceptedDate",
85
+ "accessNumber",
86
+ "cik",
87
+ "filedDate",
88
+ "filingUrl",
89
+ "form",
90
+ "item1",
91
+ "item1a",
92
+ "item2",
93
+ "item7",
94
+ "item7a",
95
+ "reportUrl",
96
+ ]
97
+ )
98
+ serialized = handler(self)
99
+ m = {}
100
+
101
+ for n, f in type(self).model_fields.items():
102
+ k = f.alias or n
103
+ val = serialized.get(k, serialized.get(n))
104
+
105
+ if val != UNSET_SENTINEL:
106
+ if val is not None or k not in optional_fields:
107
+ m[k] = val
108
+
109
+ return m
110
+
111
+
112
+ try:
113
+ FilingSimilarityRecord.model_rebuild()
114
+ except NameError:
115
+ pass
@@ -0,0 +1,52 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 98dd9eec252c
3
+
4
+ from __future__ import annotations
5
+ from .filingsimilarityrecord import (
6
+ FilingSimilarityRecord,
7
+ FilingSimilarityRecordTypedDict,
8
+ )
9
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
10
+ from pydantic import model_serializer
11
+ from typing import List, Optional
12
+ from typing_extensions import NotRequired, TypedDict
13
+
14
+
15
+ class FilingsSimilarityIndexDataWrapperTypedDict(TypedDict):
16
+ r"""Similarity index data for a company, identified by CIK and symbol."""
17
+
18
+ cik: NotRequired[str]
19
+ r"""Central Index Key"""
20
+ similarity: NotRequired[List[FilingSimilarityRecordTypedDict]]
21
+ r"""Array of filing similarity records with cosine similarity scores"""
22
+ symbol: NotRequired[str]
23
+ r"""Stock ticker symbol"""
24
+
25
+
26
+ class FilingsSimilarityIndexDataWrapper(BaseModel):
27
+ r"""Similarity index data for a company, identified by CIK and symbol."""
28
+
29
+ cik: Optional[str] = None
30
+ r"""Central Index Key"""
31
+
32
+ similarity: Optional[List[FilingSimilarityRecord]] = None
33
+ r"""Array of filing similarity records with cosine similarity scores"""
34
+
35
+ symbol: Optional[str] = None
36
+ r"""Stock ticker symbol"""
37
+
38
+ @model_serializer(mode="wrap")
39
+ def serialize_model(self, handler):
40
+ optional_fields = set(["cik", "similarity", "symbol"])
41
+ serialized = handler(self)
42
+ m = {}
43
+
44
+ for n, f in type(self).model_fields.items():
45
+ k = f.alias or n
46
+ val = serialized.get(k, serialized.get(n))
47
+
48
+ if val != UNSET_SENTINEL:
49
+ if val is not None or k not in optional_fields:
50
+ m[k] = val
51
+
52
+ return m
@@ -0,0 +1,42 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 02b3775f9913
3
+
4
+ from __future__ import annotations
5
+ from .filingssimilarityindexdatawrapper import (
6
+ FilingsSimilarityIndexDataWrapper,
7
+ FilingsSimilarityIndexDataWrapperTypedDict,
8
+ )
9
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
10
+ from pydantic import model_serializer
11
+ from typing import Optional
12
+ from typing_extensions import NotRequired, TypedDict
13
+
14
+
15
+ class FilingsSimilarityIndexResponseTypedDict(TypedDict):
16
+ r"""Response containing the SEC filings similarity index for a company."""
17
+
18
+ data: NotRequired[FilingsSimilarityIndexDataWrapperTypedDict]
19
+ r"""Similarity index data for a company, identified by CIK and symbol."""
20
+
21
+
22
+ class FilingsSimilarityIndexResponse(BaseModel):
23
+ r"""Response containing the SEC filings similarity index for a company."""
24
+
25
+ data: Optional[FilingsSimilarityIndexDataWrapper] = None
26
+ r"""Similarity index data for a company, identified by CIK and symbol."""
27
+
28
+ @model_serializer(mode="wrap")
29
+ def serialize_model(self, handler):
30
+ optional_fields = set(["data"])
31
+ serialized = handler(self)
32
+ m = {}
33
+
34
+ for n, f in type(self).model_fields.items():
35
+ k = f.alias or n
36
+ val = serialized.get(k, serialized.get(n))
37
+
38
+ if val != UNSET_SENTINEL:
39
+ if val is not None or k not in optional_fields:
40
+ m[k] = val
41
+
42
+ return m
@@ -0,0 +1,252 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 392acf5d65dd
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 FinancialRatiosResponseResultTypedDict(TypedDict):
13
+ average_volume: NotRequired[int]
14
+ r"""Average trading volume in shares"""
15
+ cash: NotRequired[float]
16
+ r"""Cash ratio"""
17
+ cik: NotRequired[str]
18
+ r"""SEC Central Index Key of the company"""
19
+ current: NotRequired[float]
20
+ r"""Current ratio (current assets to current liabilities)"""
21
+ date_: NotRequired[str]
22
+ r"""Date the ratios were calculated for (YYYY-MM-DD)"""
23
+ debt_to_equity: NotRequired[float]
24
+ r"""Debt-to-equity ratio"""
25
+ dividend_yield: NotRequired[float]
26
+ r"""Dividend yield"""
27
+ earnings_per_share: NotRequired[float]
28
+ r"""Earnings per share"""
29
+ enterprise_value: NotRequired[int]
30
+ r"""Enterprise value"""
31
+ ev_to_ebitda: NotRequired[float]
32
+ r"""Enterprise value to EBITDA ratio"""
33
+ ev_to_sales: NotRequired[float]
34
+ r"""Enterprise value to sales ratio"""
35
+ free_cash_flow: NotRequired[int]
36
+ r"""Free cash flow"""
37
+ market_cap: NotRequired[int]
38
+ r"""Market capitalization"""
39
+ price: NotRequired[float]
40
+ r"""Stock price used to compute the ratios"""
41
+ price_to_book: NotRequired[float]
42
+ r"""Price-to-book (P/B) ratio"""
43
+ price_to_cash_flow: NotRequired[float]
44
+ r"""Price-to-cash-flow ratio"""
45
+ price_to_earnings: NotRequired[float]
46
+ r"""Price-to-earnings (P/E) ratio"""
47
+ price_to_free_cash_flow: NotRequired[float]
48
+ r"""Price-to-free-cash-flow ratio"""
49
+ price_to_sales: NotRequired[float]
50
+ r"""Price-to-sales (P/S) ratio"""
51
+ quick: NotRequired[float]
52
+ r"""Quick ratio (liquid assets to current liabilities)"""
53
+ return_on_assets: NotRequired[float]
54
+ r"""Return on assets"""
55
+ return_on_equity: NotRequired[float]
56
+ r"""Return on equity"""
57
+ ticker: NotRequired[str]
58
+ r"""Stock ticker symbol"""
59
+
60
+
61
+ class FinancialRatiosResponseResult(BaseModel):
62
+ average_volume: Annotated[Optional[int], pydantic.Field(alias="averageVolume")] = (
63
+ None
64
+ )
65
+ r"""Average trading volume in shares"""
66
+
67
+ cash: Optional[float] = None
68
+ r"""Cash ratio"""
69
+
70
+ cik: Optional[str] = None
71
+ r"""SEC Central Index Key of the company"""
72
+
73
+ current: Optional[float] = None
74
+ r"""Current ratio (current assets to current liabilities)"""
75
+
76
+ date_: Annotated[Optional[str], pydantic.Field(alias="date")] = None
77
+ r"""Date the ratios were calculated for (YYYY-MM-DD)"""
78
+
79
+ debt_to_equity: Annotated[Optional[float], pydantic.Field(alias="debtToEquity")] = (
80
+ None
81
+ )
82
+ r"""Debt-to-equity ratio"""
83
+
84
+ dividend_yield: Annotated[
85
+ Optional[float], pydantic.Field(alias="dividendYield")
86
+ ] = None
87
+ r"""Dividend yield"""
88
+
89
+ earnings_per_share: Annotated[
90
+ Optional[float], pydantic.Field(alias="earningsPerShare")
91
+ ] = None
92
+ r"""Earnings per share"""
93
+
94
+ enterprise_value: Annotated[
95
+ Optional[int], pydantic.Field(alias="enterpriseValue")
96
+ ] = None
97
+ r"""Enterprise value"""
98
+
99
+ ev_to_ebitda: Annotated[Optional[float], pydantic.Field(alias="evToEbitda")] = None
100
+ r"""Enterprise value to EBITDA ratio"""
101
+
102
+ ev_to_sales: Annotated[Optional[float], pydantic.Field(alias="evToSales")] = None
103
+ r"""Enterprise value to sales ratio"""
104
+
105
+ free_cash_flow: Annotated[Optional[int], pydantic.Field(alias="freeCashFlow")] = (
106
+ None
107
+ )
108
+ r"""Free cash flow"""
109
+
110
+ market_cap: Annotated[Optional[int], pydantic.Field(alias="marketCap")] = None
111
+ r"""Market capitalization"""
112
+
113
+ price: Optional[float] = None
114
+ r"""Stock price used to compute the ratios"""
115
+
116
+ price_to_book: Annotated[Optional[float], pydantic.Field(alias="priceToBook")] = (
117
+ None
118
+ )
119
+ r"""Price-to-book (P/B) ratio"""
120
+
121
+ price_to_cash_flow: Annotated[
122
+ Optional[float], pydantic.Field(alias="priceToCashFlow")
123
+ ] = None
124
+ r"""Price-to-cash-flow ratio"""
125
+
126
+ price_to_earnings: Annotated[
127
+ Optional[float], pydantic.Field(alias="priceToEarnings")
128
+ ] = None
129
+ r"""Price-to-earnings (P/E) ratio"""
130
+
131
+ price_to_free_cash_flow: Annotated[
132
+ Optional[float], pydantic.Field(alias="priceToFreeCashFlow")
133
+ ] = None
134
+ r"""Price-to-free-cash-flow ratio"""
135
+
136
+ price_to_sales: Annotated[Optional[float], pydantic.Field(alias="priceToSales")] = (
137
+ None
138
+ )
139
+ r"""Price-to-sales (P/S) ratio"""
140
+
141
+ quick: Optional[float] = None
142
+ r"""Quick ratio (liquid assets to current liabilities)"""
143
+
144
+ return_on_assets: Annotated[
145
+ Optional[float], pydantic.Field(alias="returnOnAssets")
146
+ ] = None
147
+ r"""Return on assets"""
148
+
149
+ return_on_equity: Annotated[
150
+ Optional[float], pydantic.Field(alias="returnOnEquity")
151
+ ] = None
152
+ r"""Return on equity"""
153
+
154
+ ticker: Optional[str] = None
155
+ r"""Stock ticker symbol"""
156
+
157
+ @model_serializer(mode="wrap")
158
+ def serialize_model(self, handler):
159
+ optional_fields = set(
160
+ [
161
+ "averageVolume",
162
+ "cash",
163
+ "cik",
164
+ "current",
165
+ "date",
166
+ "debtToEquity",
167
+ "dividendYield",
168
+ "earningsPerShare",
169
+ "enterpriseValue",
170
+ "evToEbitda",
171
+ "evToSales",
172
+ "freeCashFlow",
173
+ "marketCap",
174
+ "price",
175
+ "priceToBook",
176
+ "priceToCashFlow",
177
+ "priceToEarnings",
178
+ "priceToFreeCashFlow",
179
+ "priceToSales",
180
+ "quick",
181
+ "returnOnAssets",
182
+ "returnOnEquity",
183
+ "ticker",
184
+ ]
185
+ )
186
+ serialized = handler(self)
187
+ m = {}
188
+
189
+ for n, f in type(self).model_fields.items():
190
+ k = f.alias or n
191
+ val = serialized.get(k, serialized.get(n))
192
+
193
+ if val != UNSET_SENTINEL:
194
+ if val is not None or k not in optional_fields:
195
+ m[k] = val
196
+
197
+ return m
198
+
199
+
200
+ class FinancialRatiosResponseTypedDict(TypedDict):
201
+ r"""Valuation, profitability, liquidity and leverage ratios for a company, sourced from Polygon."""
202
+
203
+ next_url: NotRequired[str]
204
+ r"""URL for the next page of results, omitted when there are no more pages"""
205
+ request_id: NotRequired[str]
206
+ r"""Request identifier returned by the upstream data provider"""
207
+ results: NotRequired[List[FinancialRatiosResponseResultTypedDict]]
208
+ r"""Financial ratio records, one per ticker and date"""
209
+ status: NotRequired[str]
210
+ r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
211
+
212
+
213
+ class FinancialRatiosResponse(BaseModel):
214
+ r"""Valuation, profitability, liquidity and leverage ratios for a company, sourced from Polygon."""
215
+
216
+ next_url: Annotated[Optional[str], pydantic.Field(alias="nextUrl")] = None
217
+ r"""URL for the next page of results, omitted when there are no more pages"""
218
+
219
+ request_id: Annotated[Optional[str], pydantic.Field(alias="requestId")] = None
220
+ r"""Request identifier returned by the upstream data provider"""
221
+
222
+ results: Optional[List[FinancialRatiosResponseResult]] = None
223
+ r"""Financial ratio records, one per ticker and date"""
224
+
225
+ status: Optional[str] = None
226
+ r"""Status string from the upstream data provider — typically `OK` for a successful response. Treat any other value as an error indicator alongside the HTTP status code."""
227
+
228
+ @model_serializer(mode="wrap")
229
+ def serialize_model(self, handler):
230
+ optional_fields = set(["nextUrl", "requestId", "results", "status"])
231
+ serialized = handler(self)
232
+ m = {}
233
+
234
+ for n, f in type(self).model_fields.items():
235
+ k = f.alias or n
236
+ val = serialized.get(k, serialized.get(n))
237
+
238
+ if val != UNSET_SENTINEL:
239
+ if val is not None or k not in optional_fields:
240
+ m[k] = val
241
+
242
+ return m
243
+
244
+
245
+ try:
246
+ FinancialRatiosResponseResult.model_rebuild()
247
+ except NameError:
248
+ pass
249
+ try:
250
+ FinancialRatiosResponse.model_rebuild()
251
+ except NameError:
252
+ pass
@@ -0,0 +1,49 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 70c4ddf2f400
3
+
4
+ from __future__ import annotations
5
+ from .reportedfiling import ReportedFiling, ReportedFilingTypedDict
6
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
7
+ from pydantic import model_serializer
8
+ from typing import List, Optional
9
+ from typing_extensions import NotRequired, TypedDict
10
+
11
+
12
+ class FinancialsReportedDataWrapperTypedDict(TypedDict):
13
+ r"""Company identifiers and the list of reported SEC filings."""
14
+
15
+ cik: NotRequired[str]
16
+ r"""Central Index Key assigned by the SEC"""
17
+ data: NotRequired[List[ReportedFilingTypedDict]]
18
+ r"""Array of reported filings with financial data"""
19
+ symbol: NotRequired[str]
20
+ r"""Stock ticker symbol"""
21
+
22
+
23
+ class FinancialsReportedDataWrapper(BaseModel):
24
+ r"""Company identifiers and the list of reported SEC filings."""
25
+
26
+ cik: Optional[str] = None
27
+ r"""Central Index Key assigned by the SEC"""
28
+
29
+ data: Optional[List[ReportedFiling]] = None
30
+ r"""Array of reported filings with financial data"""
31
+
32
+ symbol: Optional[str] = None
33
+ r"""Stock ticker symbol"""
34
+
35
+ @model_serializer(mode="wrap")
36
+ def serialize_model(self, handler):
37
+ optional_fields = set(["cik", "data", "symbol"])
38
+ serialized = handler(self)
39
+ m = {}
40
+
41
+ for n, f in type(self).model_fields.items():
42
+ k = f.alias or n
43
+ val = serialized.get(k, serialized.get(n))
44
+
45
+ if val != UNSET_SENTINEL:
46
+ if val is not None or k not in optional_fields:
47
+ m[k] = val
48
+
49
+ return m