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,198 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 112bec940b11
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 ShortVolumeResponseResultTypedDict(TypedDict):
13
+ adf_short_volume: NotRequired[int]
14
+ r"""Short volume reported through the FINRA Alternative Display Facility (ADF)"""
15
+ adf_short_volume_exempt: NotRequired[int]
16
+ r"""Short-sale-exempt portion of the ADF short volume"""
17
+ date_: NotRequired[str]
18
+ r"""Trading date the short volume applies to (YYYY-MM-DD)"""
19
+ exempt_volume: NotRequired[int]
20
+ r"""Short volume that was marked short-sale exempt"""
21
+ nasdaq_carteret_short_volume: NotRequired[int]
22
+ r"""Short volume reported through the Nasdaq Carteret facility"""
23
+ nasdaq_carteret_short_volume_exempt: NotRequired[int]
24
+ r"""Short-sale-exempt portion of the Nasdaq Carteret short volume"""
25
+ nasdaq_chicago_short_volume: NotRequired[int]
26
+ r"""Short volume reported through the Nasdaq Chicago facility"""
27
+ nasdaq_chicago_short_volume_exempt: NotRequired[int]
28
+ r"""Short-sale-exempt portion of the Nasdaq Chicago short volume"""
29
+ non_exempt_volume: NotRequired[int]
30
+ r"""Short volume that was not marked short-sale exempt"""
31
+ nyse_short_volume: NotRequired[int]
32
+ r"""Short volume reported through the NYSE facility"""
33
+ nyse_short_volume_exempt: NotRequired[int]
34
+ r"""Short-sale-exempt portion of the NYSE short volume"""
35
+ short_volume: NotRequired[int]
36
+ r"""Total number of shares sold short during the trading date"""
37
+ short_volume_ratio: NotRequired[float]
38
+ r"""Short volume as a proportion of total volume, as computed by the upstream provider"""
39
+ ticker: NotRequired[str]
40
+ r"""Stock ticker symbol"""
41
+ total_volume: NotRequired[int]
42
+ r"""Total shares traded during the trading date"""
43
+
44
+
45
+ class ShortVolumeResponseResult(BaseModel):
46
+ adf_short_volume: Annotated[
47
+ Optional[int], pydantic.Field(alias="adfShortVolume")
48
+ ] = None
49
+ r"""Short volume reported through the FINRA Alternative Display Facility (ADF)"""
50
+
51
+ adf_short_volume_exempt: Annotated[
52
+ Optional[int], pydantic.Field(alias="adfShortVolumeExempt")
53
+ ] = None
54
+ r"""Short-sale-exempt portion of the ADF short volume"""
55
+
56
+ date_: Annotated[Optional[str], pydantic.Field(alias="date")] = None
57
+ r"""Trading date the short volume applies to (YYYY-MM-DD)"""
58
+
59
+ exempt_volume: Annotated[Optional[int], pydantic.Field(alias="exemptVolume")] = None
60
+ r"""Short volume that was marked short-sale exempt"""
61
+
62
+ nasdaq_carteret_short_volume: Annotated[
63
+ Optional[int], pydantic.Field(alias="nasdaqCarteretShortVolume")
64
+ ] = None
65
+ r"""Short volume reported through the Nasdaq Carteret facility"""
66
+
67
+ nasdaq_carteret_short_volume_exempt: Annotated[
68
+ Optional[int], pydantic.Field(alias="nasdaqCarteretShortVolumeExempt")
69
+ ] = None
70
+ r"""Short-sale-exempt portion of the Nasdaq Carteret short volume"""
71
+
72
+ nasdaq_chicago_short_volume: Annotated[
73
+ Optional[int], pydantic.Field(alias="nasdaqChicagoShortVolume")
74
+ ] = None
75
+ r"""Short volume reported through the Nasdaq Chicago facility"""
76
+
77
+ nasdaq_chicago_short_volume_exempt: Annotated[
78
+ Optional[int], pydantic.Field(alias="nasdaqChicagoShortVolumeExempt")
79
+ ] = None
80
+ r"""Short-sale-exempt portion of the Nasdaq Chicago short volume"""
81
+
82
+ non_exempt_volume: Annotated[
83
+ Optional[int], pydantic.Field(alias="nonExemptVolume")
84
+ ] = None
85
+ r"""Short volume that was not marked short-sale exempt"""
86
+
87
+ nyse_short_volume: Annotated[
88
+ Optional[int], pydantic.Field(alias="nyseShortVolume")
89
+ ] = None
90
+ r"""Short volume reported through the NYSE facility"""
91
+
92
+ nyse_short_volume_exempt: Annotated[
93
+ Optional[int], pydantic.Field(alias="nyseShortVolumeExempt")
94
+ ] = None
95
+ r"""Short-sale-exempt portion of the NYSE short volume"""
96
+
97
+ short_volume: Annotated[Optional[int], pydantic.Field(alias="shortVolume")] = None
98
+ r"""Total number of shares sold short during the trading date"""
99
+
100
+ short_volume_ratio: Annotated[
101
+ Optional[float], pydantic.Field(alias="shortVolumeRatio")
102
+ ] = None
103
+ r"""Short volume as a proportion of total volume, as computed by the upstream provider"""
104
+
105
+ ticker: Optional[str] = None
106
+ r"""Stock ticker symbol"""
107
+
108
+ total_volume: Annotated[Optional[int], pydantic.Field(alias="totalVolume")] = None
109
+ r"""Total shares traded during the trading date"""
110
+
111
+ @model_serializer(mode="wrap")
112
+ def serialize_model(self, handler):
113
+ optional_fields = set(
114
+ [
115
+ "adfShortVolume",
116
+ "adfShortVolumeExempt",
117
+ "date",
118
+ "exemptVolume",
119
+ "nasdaqCarteretShortVolume",
120
+ "nasdaqCarteretShortVolumeExempt",
121
+ "nasdaqChicagoShortVolume",
122
+ "nasdaqChicagoShortVolumeExempt",
123
+ "nonExemptVolume",
124
+ "nyseShortVolume",
125
+ "nyseShortVolumeExempt",
126
+ "shortVolume",
127
+ "shortVolumeRatio",
128
+ "ticker",
129
+ "totalVolume",
130
+ ]
131
+ )
132
+ serialized = handler(self)
133
+ m = {}
134
+
135
+ for n, f in type(self).model_fields.items():
136
+ k = f.alias or n
137
+ val = serialized.get(k, serialized.get(n))
138
+
139
+ if val != UNSET_SENTINEL:
140
+ if val is not None or k not in optional_fields:
141
+ m[k] = val
142
+
143
+ return m
144
+
145
+
146
+ class ShortVolumeResponseTypedDict(TypedDict):
147
+ r"""Daily short sale volume per ticker, including a breakdown by reporting venue, sourced from Polygon."""
148
+
149
+ next_url: NotRequired[str]
150
+ r"""URL for the next page of results, omitted when there are no more pages"""
151
+ request_id: NotRequired[str]
152
+ r"""Request identifier returned by the upstream data provider"""
153
+ results: NotRequired[List[ShortVolumeResponseResultTypedDict]]
154
+ r"""Daily short sale volume records"""
155
+ status: NotRequired[str]
156
+ 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."""
157
+
158
+
159
+ class ShortVolumeResponse(BaseModel):
160
+ r"""Daily short sale volume per ticker, including a breakdown by reporting venue, sourced from Polygon."""
161
+
162
+ next_url: Annotated[Optional[str], pydantic.Field(alias="nextUrl")] = None
163
+ r"""URL for the next page of results, omitted when there are no more pages"""
164
+
165
+ request_id: Annotated[Optional[str], pydantic.Field(alias="requestId")] = None
166
+ r"""Request identifier returned by the upstream data provider"""
167
+
168
+ results: Optional[List[ShortVolumeResponseResult]] = None
169
+ r"""Daily short sale volume records"""
170
+
171
+ status: Optional[str] = None
172
+ 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."""
173
+
174
+ @model_serializer(mode="wrap")
175
+ def serialize_model(self, handler):
176
+ optional_fields = set(["nextUrl", "requestId", "results", "status"])
177
+ serialized = handler(self)
178
+ m = {}
179
+
180
+ for n, f in type(self).model_fields.items():
181
+ k = f.alias or n
182
+ val = serialized.get(k, serialized.get(n))
183
+
184
+ if val != UNSET_SENTINEL:
185
+ if val is not None or k not in optional_fields:
186
+ m[k] = val
187
+
188
+ return m
189
+
190
+
191
+ try:
192
+ ShortVolumeResponseResult.model_rebuild()
193
+ except NameError:
194
+ pass
195
+ try:
196
+ ShortVolumeResponse.model_rebuild()
197
+ except NameError:
198
+ pass
@@ -0,0 +1,124 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: cffb31885ace
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 SocialSentimentResponseDataTypedDict(TypedDict):
13
+ at_time: NotRequired[str]
14
+ r"""Timestamp of the data point as provided by the data vendor."""
15
+ mention: NotRequired[int]
16
+ r"""Total number of mentions."""
17
+ negative_mention: NotRequired[int]
18
+ r"""Number of negative mentions."""
19
+ negative_score: NotRequired[float]
20
+ r"""Negative sentiment score."""
21
+ positive_mention: NotRequired[int]
22
+ r"""Number of positive mentions."""
23
+ positive_score: NotRequired[float]
24
+ r"""Positive sentiment score."""
25
+ score: NotRequired[float]
26
+ r"""Overall sentiment score."""
27
+
28
+
29
+ class SocialSentimentResponseData(BaseModel):
30
+ at_time: Annotated[Optional[str], pydantic.Field(alias="atTime")] = None
31
+ r"""Timestamp of the data point as provided by the data vendor."""
32
+
33
+ mention: Optional[int] = None
34
+ r"""Total number of mentions."""
35
+
36
+ negative_mention: Annotated[
37
+ Optional[int], pydantic.Field(alias="negativeMention")
38
+ ] = None
39
+ r"""Number of negative mentions."""
40
+
41
+ negative_score: Annotated[
42
+ Optional[float], pydantic.Field(alias="negativeScore")
43
+ ] = None
44
+ r"""Negative sentiment score."""
45
+
46
+ positive_mention: Annotated[
47
+ Optional[int], pydantic.Field(alias="positiveMention")
48
+ ] = None
49
+ r"""Number of positive mentions."""
50
+
51
+ positive_score: Annotated[
52
+ Optional[float], pydantic.Field(alias="positiveScore")
53
+ ] = None
54
+ r"""Positive sentiment score."""
55
+
56
+ score: Optional[float] = None
57
+ r"""Overall sentiment score."""
58
+
59
+ @model_serializer(mode="wrap")
60
+ def serialize_model(self, handler):
61
+ optional_fields = set(
62
+ [
63
+ "atTime",
64
+ "mention",
65
+ "negativeMention",
66
+ "negativeScore",
67
+ "positiveMention",
68
+ "positiveScore",
69
+ "score",
70
+ ]
71
+ )
72
+ serialized = handler(self)
73
+ m = {}
74
+
75
+ for n, f in type(self).model_fields.items():
76
+ k = f.alias or n
77
+ val = serialized.get(k, serialized.get(n))
78
+
79
+ if val != UNSET_SENTINEL:
80
+ if val is not None or k not in optional_fields:
81
+ m[k] = val
82
+
83
+ return m
84
+
85
+
86
+ class SocialSentimentResponseTypedDict(TypedDict):
87
+ r"""Social media sentiment time series for a symbol."""
88
+
89
+ data: NotRequired[List[SocialSentimentResponseDataTypedDict]]
90
+ r"""Sentiment data points."""
91
+ symbol: NotRequired[str]
92
+ r"""Ticker symbol of the company."""
93
+
94
+
95
+ class SocialSentimentResponse(BaseModel):
96
+ r"""Social media sentiment time series for a symbol."""
97
+
98
+ data: Optional[List[SocialSentimentResponseData]] = None
99
+ r"""Sentiment data points."""
100
+
101
+ symbol: Optional[str] = None
102
+ r"""Ticker symbol of the company."""
103
+
104
+ @model_serializer(mode="wrap")
105
+ def serialize_model(self, handler):
106
+ optional_fields = set(["data", "symbol"])
107
+ serialized = handler(self)
108
+ m = {}
109
+
110
+ for n, f in type(self).model_fields.items():
111
+ k = f.alias or n
112
+ val = serialized.get(k, serialized.get(n))
113
+
114
+ if val != UNSET_SENTINEL:
115
+ if val is not None or k not in optional_fields:
116
+ m[k] = val
117
+
118
+ return m
119
+
120
+
121
+ try:
122
+ SocialSentimentResponseData.model_rebuild()
123
+ except NameError:
124
+ pass
@@ -0,0 +1,13 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: c5ce248a2664
3
+
4
+ from __future__ import annotations
5
+ from enum import Enum
6
+ from finance_dev import utils
7
+
8
+
9
+ class SortOrderEnum(str, Enum, metaclass=utils.OpenEnumMeta):
10
+ r"""Sort direction for results. Use ascending for oldest or smallest first, descending for newest or largest first."""
11
+
12
+ ASC = "asc"
13
+ DESC = "desc"
@@ -0,0 +1,136 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: bdcdccecf852
3
+
4
+ from __future__ import annotations
5
+ from datetime import date
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 SpinoffTypedDict(TypedDict):
14
+ declared_date: NotRequired[date]
15
+ r"""Date when the spinoff was announced (YYYY-MM-DD format)"""
16
+ description: NotRequired[str]
17
+ r"""Description of the spinoff transaction"""
18
+ ex_date: NotRequired[date]
19
+ r"""Ex-date when the stock trades without spinoff rights (YYYY-MM-DD format)"""
20
+ from_company_name: NotRequired[str]
21
+ r"""Name of the parent company"""
22
+ from_symbol: NotRequired[str]
23
+ r"""Ticker symbol of the parent company"""
24
+ payment_date: NotRequired[date]
25
+ r"""Date when spun-off shares are distributed to shareholders (YYYY-MM-DD format)"""
26
+ ratio: NotRequired[str]
27
+ r"""Distribution ratio (e.g., 1:1 means one share of new company for each share of parent)"""
28
+ record_date: NotRequired[date]
29
+ r"""Date determining which shareholders receive the spinoff (YYYY-MM-DD format)"""
30
+ to_company_name: NotRequired[str]
31
+ r"""Name of the spun-off company"""
32
+ to_symbol: NotRequired[str]
33
+ r"""Ticker symbol of the spun-off company"""
34
+
35
+
36
+ class Spinoff(BaseModel):
37
+ declared_date: Annotated[Optional[date], pydantic.Field(alias="declaredDate")] = (
38
+ None
39
+ )
40
+ r"""Date when the spinoff was announced (YYYY-MM-DD format)"""
41
+
42
+ description: Optional[str] = None
43
+ r"""Description of the spinoff transaction"""
44
+
45
+ ex_date: Annotated[Optional[date], pydantic.Field(alias="exDate")] = None
46
+ r"""Ex-date when the stock trades without spinoff rights (YYYY-MM-DD format)"""
47
+
48
+ from_company_name: Annotated[
49
+ Optional[str], pydantic.Field(alias="fromCompanyName")
50
+ ] = None
51
+ r"""Name of the parent company"""
52
+
53
+ from_symbol: Annotated[Optional[str], pydantic.Field(alias="fromSymbol")] = None
54
+ r"""Ticker symbol of the parent company"""
55
+
56
+ payment_date: Annotated[Optional[date], pydantic.Field(alias="paymentDate")] = None
57
+ r"""Date when spun-off shares are distributed to shareholders (YYYY-MM-DD format)"""
58
+
59
+ ratio: Optional[str] = None
60
+ r"""Distribution ratio (e.g., 1:1 means one share of new company for each share of parent)"""
61
+
62
+ record_date: Annotated[Optional[date], pydantic.Field(alias="recordDate")] = None
63
+ r"""Date determining which shareholders receive the spinoff (YYYY-MM-DD format)"""
64
+
65
+ to_company_name: Annotated[Optional[str], pydantic.Field(alias="toCompanyName")] = (
66
+ None
67
+ )
68
+ r"""Name of the spun-off company"""
69
+
70
+ to_symbol: Annotated[Optional[str], pydantic.Field(alias="toSymbol")] = None
71
+ r"""Ticker symbol of the spun-off company"""
72
+
73
+ @model_serializer(mode="wrap")
74
+ def serialize_model(self, handler):
75
+ optional_fields = set(
76
+ [
77
+ "declaredDate",
78
+ "description",
79
+ "exDate",
80
+ "fromCompanyName",
81
+ "fromSymbol",
82
+ "paymentDate",
83
+ "ratio",
84
+ "recordDate",
85
+ "toCompanyName",
86
+ "toSymbol",
87
+ ]
88
+ )
89
+ serialized = handler(self)
90
+ m = {}
91
+
92
+ for n, f in type(self).model_fields.items():
93
+ k = f.alias or n
94
+ val = serialized.get(k, serialized.get(n))
95
+
96
+ if val != UNSET_SENTINEL:
97
+ if val is not None or k not in optional_fields:
98
+ m[k] = val
99
+
100
+ return m
101
+
102
+
103
+ class SpinoffsResponseTypedDict(TypedDict):
104
+ r"""Response containing corporate spinoff events."""
105
+
106
+ spinoffs: NotRequired[List[SpinoffTypedDict]]
107
+ r"""Array of corporate spinoff events"""
108
+
109
+
110
+ class SpinoffsResponse(BaseModel):
111
+ r"""Response containing corporate spinoff events."""
112
+
113
+ spinoffs: Optional[List[Spinoff]] = None
114
+ r"""Array of corporate spinoff events"""
115
+
116
+ @model_serializer(mode="wrap")
117
+ def serialize_model(self, handler):
118
+ optional_fields = set(["spinoffs"])
119
+ serialized = handler(self)
120
+ m = {}
121
+
122
+ for n, f in type(self).model_fields.items():
123
+ k = f.alias or n
124
+ val = serialized.get(k, serialized.get(n))
125
+
126
+ if val != UNSET_SENTINEL:
127
+ if val is not None or k not in optional_fields:
128
+ m[k] = val
129
+
130
+ return m
131
+
132
+
133
+ try:
134
+ Spinoff.model_rebuild()
135
+ except NameError:
136
+ pass
@@ -0,0 +1,92 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+ # @generated-id: 8ae670ac8237
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 StockAggregatesResponseTypedDict(TypedDict):
14
+ r"""Aggregate OHLC bars for a stock over a requested range and timespan, as returned by the upstream data provider."""
15
+
16
+ adjusted: NotRequired[bool]
17
+ r"""Whether or not the results are adjusted for splits"""
18
+ next_url: NotRequired[str]
19
+ r"""URL for next page of results"""
20
+ query_count: NotRequired[int]
21
+ r"""Number of results returned"""
22
+ request_id: NotRequired[str]
23
+ r"""Unique request ID"""
24
+ results: NotRequired[List[StockOhlcBarTypedDict]]
25
+ r"""Array of aggregate bars"""
26
+ results_count: NotRequired[int]
27
+ r"""Total number of results"""
28
+ status: NotRequired[str]
29
+ 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."""
30
+ ticker: NotRequired[str]
31
+ r"""Stock ticker symbol, such as AAPL. Use the exact ticker for the company you want to research."""
32
+
33
+
34
+ class StockAggregatesResponse(BaseModel):
35
+ r"""Aggregate OHLC bars for a stock over a requested range and timespan, as returned by the upstream data provider."""
36
+
37
+ adjusted: Optional[bool] = None
38
+ r"""Whether or not the results are adjusted for splits"""
39
+
40
+ next_url: Annotated[Optional[str], pydantic.Field(alias="nextUrl")] = None
41
+ r"""URL for next page of results"""
42
+
43
+ query_count: Annotated[Optional[int], pydantic.Field(alias="queryCount")] = None
44
+ r"""Number of results returned"""
45
+
46
+ request_id: Annotated[Optional[str], pydantic.Field(alias="requestId")] = None
47
+ r"""Unique request ID"""
48
+
49
+ results: Optional[List[StockOhlcBar]] = None
50
+ r"""Array of aggregate bars"""
51
+
52
+ results_count: Annotated[Optional[int], pydantic.Field(alias="resultsCount")] = None
53
+ r"""Total number of results"""
54
+
55
+ status: Optional[str] = None
56
+ 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."""
57
+
58
+ ticker: Optional[str] = None
59
+ r"""Stock ticker symbol, such as AAPL. Use the exact ticker for the company you want to research."""
60
+
61
+ @model_serializer(mode="wrap")
62
+ def serialize_model(self, handler):
63
+ optional_fields = set(
64
+ [
65
+ "adjusted",
66
+ "nextUrl",
67
+ "queryCount",
68
+ "requestId",
69
+ "results",
70
+ "resultsCount",
71
+ "status",
72
+ "ticker",
73
+ ]
74
+ )
75
+ serialized = handler(self)
76
+ m = {}
77
+
78
+ for n, f in type(self).model_fields.items():
79
+ k = f.alias or n
80
+ val = serialized.get(k, serialized.get(n))
81
+
82
+ if val != UNSET_SENTINEL:
83
+ if val is not None or k not in optional_fields:
84
+ m[k] = val
85
+
86
+ return m
87
+
88
+
89
+ try:
90
+ StockAggregatesResponse.model_rebuild()
91
+ except NameError:
92
+ pass