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,175 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 74ef0fe52962
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 StockLastQuoteResponseResultsTypedDict(TypedDict):
13
+ r"""Last NBBO quote object"""
14
+
15
+ ask_exchange: NotRequired[int]
16
+ r"""Ask exchange ID"""
17
+ ask_price: NotRequired[float]
18
+ r"""Ask price"""
19
+ ask_size: NotRequired[int]
20
+ r"""Ask size"""
21
+ bid_exchange: NotRequired[int]
22
+ r"""Bid exchange ID"""
23
+ bid_price: NotRequired[float]
24
+ r"""Bid price"""
25
+ bid_size: NotRequired[int]
26
+ r"""Bid size"""
27
+ conditions: NotRequired[List[int]]
28
+ r"""Quote conditions"""
29
+ indicators: NotRequired[List[int]]
30
+ r"""Quote indicators"""
31
+ participant_timestamp: NotRequired[int]
32
+ r"""Participant timestamp"""
33
+ sequence_number: NotRequired[int]
34
+ r"""Sequence number"""
35
+ sip_timestamp: NotRequired[int]
36
+ r"""SIP timestamp"""
37
+ tape: NotRequired[int]
38
+ r"""Tape"""
39
+ ticker: NotRequired[str]
40
+ r"""Ticker symbol"""
41
+ trf_timestamp: NotRequired[int]
42
+ r"""TRF timestamp"""
43
+
44
+
45
+ class StockLastQuoteResponseResults(BaseModel):
46
+ r"""Last NBBO quote object"""
47
+
48
+ ask_exchange: Annotated[Optional[int], pydantic.Field(alias="askExchange")] = None
49
+ r"""Ask exchange ID"""
50
+
51
+ ask_price: Annotated[Optional[float], pydantic.Field(alias="askPrice")] = None
52
+ r"""Ask price"""
53
+
54
+ ask_size: Annotated[Optional[int], pydantic.Field(alias="askSize")] = None
55
+ r"""Ask size"""
56
+
57
+ bid_exchange: Annotated[Optional[int], pydantic.Field(alias="bidExchange")] = None
58
+ r"""Bid exchange ID"""
59
+
60
+ bid_price: Annotated[Optional[float], pydantic.Field(alias="bidPrice")] = None
61
+ r"""Bid price"""
62
+
63
+ bid_size: Annotated[Optional[int], pydantic.Field(alias="bidSize")] = None
64
+ r"""Bid size"""
65
+
66
+ conditions: Optional[List[int]] = None
67
+ r"""Quote conditions"""
68
+
69
+ indicators: Optional[List[int]] = None
70
+ r"""Quote indicators"""
71
+
72
+ participant_timestamp: Annotated[
73
+ Optional[int], pydantic.Field(alias="participantTimestamp")
74
+ ] = None
75
+ r"""Participant timestamp"""
76
+
77
+ sequence_number: Annotated[
78
+ Optional[int], pydantic.Field(alias="sequenceNumber")
79
+ ] = None
80
+ r"""Sequence number"""
81
+
82
+ sip_timestamp: Annotated[Optional[int], pydantic.Field(alias="sipTimestamp")] = None
83
+ r"""SIP timestamp"""
84
+
85
+ tape: Optional[int] = None
86
+ r"""Tape"""
87
+
88
+ ticker: Optional[str] = None
89
+ r"""Ticker symbol"""
90
+
91
+ trf_timestamp: Annotated[Optional[int], pydantic.Field(alias="trfTimestamp")] = None
92
+ r"""TRF timestamp"""
93
+
94
+ @model_serializer(mode="wrap")
95
+ def serialize_model(self, handler):
96
+ optional_fields = set(
97
+ [
98
+ "askExchange",
99
+ "askPrice",
100
+ "askSize",
101
+ "bidExchange",
102
+ "bidPrice",
103
+ "bidSize",
104
+ "conditions",
105
+ "indicators",
106
+ "participantTimestamp",
107
+ "sequenceNumber",
108
+ "sipTimestamp",
109
+ "tape",
110
+ "ticker",
111
+ "trfTimestamp",
112
+ ]
113
+ )
114
+ serialized = handler(self)
115
+ m = {}
116
+
117
+ for n, f in type(self).model_fields.items():
118
+ k = f.alias or n
119
+ val = serialized.get(k, serialized.get(n))
120
+
121
+ if val != UNSET_SENTINEL:
122
+ if val is not None or k not in optional_fields:
123
+ m[k] = val
124
+
125
+ return m
126
+
127
+
128
+ class StockLastQuoteResponseTypedDict(TypedDict):
129
+ r"""Most recent NBBO quote for a stock ticker."""
130
+
131
+ request_id: NotRequired[str]
132
+ r"""Unique request ID"""
133
+ results: NotRequired[StockLastQuoteResponseResultsTypedDict]
134
+ r"""Last NBBO quote object"""
135
+ status: NotRequired[str]
136
+ 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."""
137
+
138
+
139
+ class StockLastQuoteResponse(BaseModel):
140
+ r"""Most recent NBBO quote for a stock ticker."""
141
+
142
+ request_id: Annotated[Optional[str], pydantic.Field(alias="requestId")] = None
143
+ r"""Unique request ID"""
144
+
145
+ results: Optional[StockLastQuoteResponseResults] = None
146
+ r"""Last NBBO quote object"""
147
+
148
+ status: Optional[str] = None
149
+ 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."""
150
+
151
+ @model_serializer(mode="wrap")
152
+ def serialize_model(self, handler):
153
+ optional_fields = set(["requestId", "results", "status"])
154
+ serialized = handler(self)
155
+ m = {}
156
+
157
+ for n, f in type(self).model_fields.items():
158
+ k = f.alias or n
159
+ val = serialized.get(k, serialized.get(n))
160
+
161
+ if val != UNSET_SENTINEL:
162
+ if val is not None or k not in optional_fields:
163
+ m[k] = val
164
+
165
+ return m
166
+
167
+
168
+ try:
169
+ StockLastQuoteResponseResults.model_rebuild()
170
+ except NameError:
171
+ pass
172
+ try:
173
+ StockLastQuoteResponse.model_rebuild()
174
+ except NameError:
175
+ pass
@@ -0,0 +1,169 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: c63a830a5896
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 StockLastTradeResponseResultsTypedDict(TypedDict):
13
+ r"""Last trade object"""
14
+
15
+ conditions: NotRequired[List[int]]
16
+ r"""Trade conditions"""
17
+ correction: NotRequired[int]
18
+ r"""Correction indicator"""
19
+ exchange: NotRequired[int]
20
+ r"""Numeric exchange identifier supplied by the market data provider."""
21
+ id: NotRequired[str]
22
+ r"""Trade ID"""
23
+ participant_timestamp: NotRequired[int]
24
+ r"""Participant timestamp"""
25
+ price: NotRequired[float]
26
+ r"""Trade price"""
27
+ sequence_number: NotRequired[int]
28
+ r"""Sequence number"""
29
+ sip_timestamp: NotRequired[int]
30
+ r"""SIP timestamp"""
31
+ size: NotRequired[float]
32
+ r"""Trade size (shares)"""
33
+ tape: NotRequired[int]
34
+ r"""Tape"""
35
+ ticker: NotRequired[str]
36
+ r"""Ticker symbol"""
37
+ trf_id: NotRequired[int]
38
+ r"""TRF ID"""
39
+ trf_timestamp: NotRequired[int]
40
+ r"""TRF timestamp"""
41
+
42
+
43
+ class StockLastTradeResponseResults(BaseModel):
44
+ r"""Last trade object"""
45
+
46
+ conditions: Optional[List[int]] = None
47
+ r"""Trade conditions"""
48
+
49
+ correction: Optional[int] = None
50
+ r"""Correction indicator"""
51
+
52
+ exchange: Optional[int] = None
53
+ r"""Numeric exchange identifier supplied by the market data provider."""
54
+
55
+ id: Optional[str] = None
56
+ r"""Trade ID"""
57
+
58
+ participant_timestamp: Annotated[
59
+ Optional[int], pydantic.Field(alias="participantTimestamp")
60
+ ] = None
61
+ r"""Participant timestamp"""
62
+
63
+ price: Optional[float] = None
64
+ r"""Trade price"""
65
+
66
+ sequence_number: Annotated[
67
+ Optional[int], pydantic.Field(alias="sequenceNumber")
68
+ ] = None
69
+ r"""Sequence number"""
70
+
71
+ sip_timestamp: Annotated[Optional[int], pydantic.Field(alias="sipTimestamp")] = None
72
+ r"""SIP timestamp"""
73
+
74
+ size: Optional[float] = None
75
+ r"""Trade size (shares)"""
76
+
77
+ tape: Optional[int] = None
78
+ r"""Tape"""
79
+
80
+ ticker: Optional[str] = None
81
+ r"""Ticker symbol"""
82
+
83
+ trf_id: Annotated[Optional[int], pydantic.Field(alias="trfId")] = None
84
+ r"""TRF ID"""
85
+
86
+ trf_timestamp: Annotated[Optional[int], pydantic.Field(alias="trfTimestamp")] = None
87
+ r"""TRF timestamp"""
88
+
89
+ @model_serializer(mode="wrap")
90
+ def serialize_model(self, handler):
91
+ optional_fields = set(
92
+ [
93
+ "conditions",
94
+ "correction",
95
+ "exchange",
96
+ "id",
97
+ "participantTimestamp",
98
+ "price",
99
+ "sequenceNumber",
100
+ "sipTimestamp",
101
+ "size",
102
+ "tape",
103
+ "ticker",
104
+ "trfId",
105
+ "trfTimestamp",
106
+ ]
107
+ )
108
+ serialized = handler(self)
109
+ m = {}
110
+
111
+ for n, f in type(self).model_fields.items():
112
+ k = f.alias or n
113
+ val = serialized.get(k, serialized.get(n))
114
+
115
+ if val != UNSET_SENTINEL:
116
+ if val is not None or k not in optional_fields:
117
+ m[k] = val
118
+
119
+ return m
120
+
121
+
122
+ class StockLastTradeResponseTypedDict(TypedDict):
123
+ r"""Most recent trade for a stock ticker."""
124
+
125
+ request_id: NotRequired[str]
126
+ r"""Unique request ID"""
127
+ results: NotRequired[StockLastTradeResponseResultsTypedDict]
128
+ r"""Last trade object"""
129
+ status: NotRequired[str]
130
+ 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."""
131
+
132
+
133
+ class StockLastTradeResponse(BaseModel):
134
+ r"""Most recent trade for a stock ticker."""
135
+
136
+ request_id: Annotated[Optional[str], pydantic.Field(alias="requestId")] = None
137
+ r"""Unique request ID"""
138
+
139
+ results: Optional[StockLastTradeResponseResults] = None
140
+ r"""Last trade object"""
141
+
142
+ status: Optional[str] = None
143
+ 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."""
144
+
145
+ @model_serializer(mode="wrap")
146
+ def serialize_model(self, handler):
147
+ optional_fields = set(["requestId", "results", "status"])
148
+ serialized = handler(self)
149
+ m = {}
150
+
151
+ for n, f in type(self).model_fields.items():
152
+ k = f.alias or n
153
+ val = serialized.get(k, serialized.get(n))
154
+
155
+ if val != UNSET_SENTINEL:
156
+ if val is not None or k not in optional_fields:
157
+ m[k] = val
158
+
159
+ return m
160
+
161
+
162
+ try:
163
+ StockLastTradeResponseResults.model_rebuild()
164
+ except NameError:
165
+ pass
166
+ try:
167
+ StockLastTradeResponse.model_rebuild()
168
+ except NameError:
169
+ pass
@@ -0,0 +1,85 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 4dfa3143cbd3
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 StockOhlcBarTypedDict(TypedDict):
13
+ r"""OHLCV bar for stock price history. Use values at each bar to render candles or historical price charts."""
14
+
15
+ ticker_symbol: NotRequired[str]
16
+ r"""Ticker symbol (optional, e.g. for grouped/prev)"""
17
+ c: NotRequired[float]
18
+ r"""Close price for the bar interval. Use it as the final price in a candle."""
19
+ h: NotRequired[float]
20
+ r"""Highest traded price during the bar interval. Use it for the candle's upper wick."""
21
+ l: NotRequired[float]
22
+ r"""Lowest traded price during the bar interval. Use it for the candle's lower wick."""
23
+ n: NotRequired[int]
24
+ r"""Number of trades included in the bar. Use it as an activity indicator when available."""
25
+ o: NotRequired[float]
26
+ r"""Opening price for the bar interval. Use it as the first price in a candle."""
27
+ t: NotRequired[int]
28
+ r"""Bar timestamp in Unix milliseconds. Use it as the x-axis time value."""
29
+ v: NotRequired[float]
30
+ r"""Shares or contracts traded during the bar interval. Use it for volume charts."""
31
+ vw: NotRequired[float]
32
+ r"""Volume weighted average price"""
33
+
34
+
35
+ class StockOhlcBar(BaseModel):
36
+ r"""OHLCV bar for stock price history. Use values at each bar to render candles or historical price charts."""
37
+
38
+ ticker_symbol: Annotated[Optional[str], pydantic.Field(alias="T")] = None
39
+ r"""Ticker symbol (optional, e.g. for grouped/prev)"""
40
+
41
+ c: Optional[float] = None
42
+ r"""Close price for the bar interval. Use it as the final price in a candle."""
43
+
44
+ h: Optional[float] = None
45
+ r"""Highest traded price during the bar interval. Use it for the candle's upper wick."""
46
+
47
+ l: Optional[float] = None
48
+ r"""Lowest traded price during the bar interval. Use it for the candle's lower wick."""
49
+
50
+ n: Optional[int] = None
51
+ r"""Number of trades included in the bar. Use it as an activity indicator when available."""
52
+
53
+ o: Optional[float] = None
54
+ r"""Opening price for the bar interval. Use it as the first price in a candle."""
55
+
56
+ t: Optional[int] = None
57
+ r"""Bar timestamp in Unix milliseconds. Use it as the x-axis time value."""
58
+
59
+ v: Optional[float] = None
60
+ r"""Shares or contracts traded during the bar interval. Use it for volume charts."""
61
+
62
+ vw: Optional[float] = None
63
+ r"""Volume weighted average price"""
64
+
65
+ @model_serializer(mode="wrap")
66
+ def serialize_model(self, handler):
67
+ optional_fields = set(["TickerSymbol", "c", "h", "l", "n", "o", "t", "v", "vw"])
68
+ serialized = handler(self)
69
+ m = {}
70
+
71
+ for n, f in type(self).model_fields.items():
72
+ k = f.alias or n
73
+ val = serialized.get(k, serialized.get(n))
74
+
75
+ if val != UNSET_SENTINEL:
76
+ if val is not None or k not in optional_fields:
77
+ m[k] = val
78
+
79
+ return m
80
+
81
+
82
+ try:
83
+ StockOhlcBar.model_rebuild()
84
+ except NameError:
85
+ pass
@@ -0,0 +1,109 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 56db4f689fb1
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 StockOpenCloseResponseTypedDict(TypedDict):
13
+ r"""Open, high, low, close, volume and extended-hours prices for a stock on a given date, as returned by the upstream data provider."""
14
+
15
+ after_hours: NotRequired[float]
16
+ r"""After hours price"""
17
+ close: NotRequired[float]
18
+ r"""Closing price"""
19
+ from_: NotRequired[str]
20
+ r"""Date in YYYY-MM-DD format. Enter the specific calendar date you want to query."""
21
+ high: NotRequired[float]
22
+ r"""High price"""
23
+ low: NotRequired[float]
24
+ r"""Low price"""
25
+ open: NotRequired[float]
26
+ r"""Opening price"""
27
+ otc: NotRequired[bool]
28
+ r"""Whether the security is OTC"""
29
+ pre_market: NotRequired[float]
30
+ r"""Pre-market price"""
31
+ status: NotRequired[str]
32
+ 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."""
33
+ symbol: NotRequired[str]
34
+ r"""Stock ticker symbol, such as AAPL. Use the exact ticker for the company you want to research."""
35
+ volume: NotRequired[float]
36
+ r"""Trading volume"""
37
+
38
+
39
+ class StockOpenCloseResponse(BaseModel):
40
+ r"""Open, high, low, close, volume and extended-hours prices for a stock on a given date, as returned by the upstream data provider."""
41
+
42
+ after_hours: Annotated[Optional[float], pydantic.Field(alias="afterHours")] = None
43
+ r"""After hours price"""
44
+
45
+ close: Optional[float] = None
46
+ r"""Closing price"""
47
+
48
+ from_: Annotated[Optional[str], pydantic.Field(alias="from")] = None
49
+ r"""Date in YYYY-MM-DD format. Enter the specific calendar date you want to query."""
50
+
51
+ high: Optional[float] = None
52
+ r"""High price"""
53
+
54
+ low: Optional[float] = None
55
+ r"""Low price"""
56
+
57
+ open: Optional[float] = None
58
+ r"""Opening price"""
59
+
60
+ otc: Optional[bool] = None
61
+ r"""Whether the security is OTC"""
62
+
63
+ pre_market: Annotated[Optional[float], pydantic.Field(alias="preMarket")] = None
64
+ r"""Pre-market price"""
65
+
66
+ status: Optional[str] = None
67
+ 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."""
68
+
69
+ symbol: Optional[str] = None
70
+ r"""Stock ticker symbol, such as AAPL. Use the exact ticker for the company you want to research."""
71
+
72
+ volume: Optional[float] = None
73
+ r"""Trading volume"""
74
+
75
+ @model_serializer(mode="wrap")
76
+ def serialize_model(self, handler):
77
+ optional_fields = set(
78
+ [
79
+ "afterHours",
80
+ "close",
81
+ "from",
82
+ "high",
83
+ "low",
84
+ "open",
85
+ "otc",
86
+ "preMarket",
87
+ "status",
88
+ "symbol",
89
+ "volume",
90
+ ]
91
+ )
92
+ serialized = handler(self)
93
+ m = {}
94
+
95
+ for n, f in type(self).model_fields.items():
96
+ k = f.alias or n
97
+ val = serialized.get(k, serialized.get(n))
98
+
99
+ if val != UNSET_SENTINEL:
100
+ if val is not None or k not in optional_fields:
101
+ m[k] = val
102
+
103
+ return m
104
+
105
+
106
+ try:
107
+ StockOpenCloseResponse.model_rebuild()
108
+ except NameError:
109
+ pass
@@ -0,0 +1,86 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 4fd1640f450e
3
+
4
+ from __future__ import annotations
5
+ from .stockohlcbar import StockOhlcBar, StockOhlcBarTypedDict
6
+ from finance_dev.types import BaseModel, UNSET_SENTINEL
7
+ import pydantic
8
+ from pydantic import model_serializer
9
+ from typing import List, Optional
10
+ from typing_extensions import Annotated, NotRequired, TypedDict
11
+
12
+
13
+ class StockPreviousDayResponseTypedDict(TypedDict):
14
+ r"""Previous trading day's aggregate bar for a stock ticker, from the Polygon aggregates data."""
15
+
16
+ adjusted: NotRequired[bool]
17
+ r"""Whether or not the results are adjusted for splits"""
18
+ query_count: NotRequired[int]
19
+ r"""Number of results returned"""
20
+ request_id: NotRequired[str]
21
+ r"""Unique request ID"""
22
+ results: NotRequired[List[StockOhlcBarTypedDict]]
23
+ r"""Array containing previous day bar"""
24
+ results_count: NotRequired[int]
25
+ r"""Total number of results"""
26
+ status: NotRequired[str]
27
+ 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."""
28
+ ticker: NotRequired[str]
29
+ r"""Stock ticker symbol, such as AAPL. Use the exact ticker for the company you want to research."""
30
+
31
+
32
+ class StockPreviousDayResponse(BaseModel):
33
+ r"""Previous trading day's aggregate bar for a stock ticker, from the Polygon aggregates data."""
34
+
35
+ adjusted: Optional[bool] = None
36
+ r"""Whether or not the results are adjusted for splits"""
37
+
38
+ query_count: Annotated[Optional[int], pydantic.Field(alias="queryCount")] = None
39
+ r"""Number of results returned"""
40
+
41
+ request_id: Annotated[Optional[str], pydantic.Field(alias="requestId")] = None
42
+ r"""Unique request ID"""
43
+
44
+ results: Optional[List[StockOhlcBar]] = None
45
+ r"""Array containing previous day bar"""
46
+
47
+ results_count: Annotated[Optional[int], pydantic.Field(alias="resultsCount")] = None
48
+ r"""Total number of results"""
49
+
50
+ status: Optional[str] = None
51
+ 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."""
52
+
53
+ ticker: Optional[str] = None
54
+ r"""Stock ticker symbol, such as AAPL. Use the exact ticker for the company you want to research."""
55
+
56
+ @model_serializer(mode="wrap")
57
+ def serialize_model(self, handler):
58
+ optional_fields = set(
59
+ [
60
+ "adjusted",
61
+ "queryCount",
62
+ "requestId",
63
+ "results",
64
+ "resultsCount",
65
+ "status",
66
+ "ticker",
67
+ ]
68
+ )
69
+ serialized = handler(self)
70
+ m = {}
71
+
72
+ for n, f in type(self).model_fields.items():
73
+ k = f.alias or n
74
+ val = serialized.get(k, serialized.get(n))
75
+
76
+ if val != UNSET_SENTINEL:
77
+ if val is not None or k not in optional_fields:
78
+ m[k] = val
79
+
80
+ return m
81
+
82
+
83
+ try:
84
+ StockPreviousDayResponse.model_rebuild()
85
+ except NameError:
86
+ pass